美文网首页安卓
【Android】declare-styleable 枚举for

【Android】declare-styleable 枚举for

作者: 8c3c932b5ffd | 来源:发表于2017-03-10 00:10 被阅读2197次

旨:介绍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);
        }

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


相关文章

  • 【Android】declare-styleable 枚举for

    旨:介绍styleable enum format的使用方法 技术含量:低(项目中对字体的自定义类型较多,考虑将字...

  • Android自定义View基础知识

    一.declare-styleable 中的 format 枚举 一般来说,属性声明方式为: enum、flag的...

  • Android 实现自定义属性 declare-styleabl

    Android 实现自定义属性 declare-styleable扩展 方法 &Eclipse/AndroidSt...

  • Android declare-styleable

    应用场景 当我们在自定义View/ViewGroup需要在自己的View上添加新的属性并且需要在编辑xml里就能定...

  • 测试

    ...

  • Android小经验

    你应该知道的那些Android小经验 1.枚举提供类型安全 Android代码替代枚举的正确之道 2.匿名toke...

  • cordova declare styleable 错误

    出现 ERROR: In FontFamilyFont, unable ...

  • Android 枚举

    前言 曾一直纠结于该不该在 Android 中使用枚举类,网上也是众说纷纭。至于官方曾给出的建议「枚举通常会比静态...

  • 枚举 学习笔记

    android 中 我们通常推荐使用 @IntDef 等 代替使用 枚举,很多同学有疑问,为什么抛弃 枚举。我们现...

  • Kotlin零基础学习 枚举

    枚举让代码变得更可读,容易理解。Android 用java语言很少写枚举, 因为Enum 需要占用较大的内存,所以...

网友评论

    本文标题:【Android】declare-styleable 枚举for

    本文链接:https://www.haomeiwen.com/subject/eqzggttx.html