安卓

【Android】declare-styleable 枚举for

2017-03-10  本文已影响2197人  8c3c932b5ffd

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

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

首先定义attr.xml中的styleable:

attr_define.png

Code Glance (类型设置为enum)

    <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

        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);
        }

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


上一篇 下一篇

猜你喜欢

热点阅读