declare-styleable-枚举format简介

旨:介绍styleable enum format的使用方法

技术含量:低
(项目中对字体的自定义类型较多,考虑将字体设置属性定义成styleable,方便直接在xml中设置)

首先定义attr.xml中的styleable:

attr_define.png

Code Glance (类型设置为enum)

1
2
3
4
5
6
7
8
9
<declare-styleable name="Font">
<attr name="font_type" format="enum">
<enum name="msyh" value="0"/>
<enum name="unidream_led" value="1"/>
<enum name="helvetica" value="2"/>
<enum name="bank" value="3"/>
<enum name="ping_fang" value="4"/>
</attr>
</declare-styleable>

之后就可以在xml中直接利用font_type属性了:

attr_enum.png

在具体的类中解析:

attr_parse.png

Code Glance

1
2
3
4
5
6
7
8
9
if (attrs != null) {
TypedArray ar = context.getTheme().obtainStyledAttributes(attrs, R.styleable.Font, defStyleAttr, 0);
@FontMaster.Type
int fontType = ar.getInteger(R.styleable.Font_type, FontMaster.Type.Default);
FontMaster.font(fontType).set(this);
ar.recycle();
} else {
FontMaster.font(FontMaster.Type.MSYH).set(this);
}


关注公众号“夕识”,雕刻时光,不负流年

Powered by KyleCe

Copyright © 2015 - 2019 KyleCe All Rights Reserved.

访客数 : | 访问量 :