旨:介绍styleable enum format的使用方法
技术含量:低
(项目中对字体的自定义类型较多,考虑将字体设置属性定义成styleable,方便直接在xml中设置)
首先定义attr.xml中的styleable:
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属性了:
在具体的类中解析:
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);
.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);
}
关注公众号“夕识”,雕刻时光,不负流年