attr和style相关的自定义

1.首先,先写attrs.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <declare-styleable name="theme">
        <attr name="name" format="reference" />
        <attr name="age">
            <flag name="child" value="10" />
            <flag name="young" value="18" />
            <flag name="oldman" value="60" />
        </attr>
        <attr name="textSize" format="dimension" />   
    </declare-styleable>
</resources>

2.在values路径下创建文件theme.xml可以为attres.xml中的theme的子节点定义属性

<resources>
<style name="Theme">
<item name="name">@android:style/Widget.Button</item>
<pre name="code" class="html"><item name="age">@android:style/Widget.Button</item>
<item name="textSize">@android:style/Widget.Button</item>
</style></resources>

 

3.style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Widget.Button">
          <item name="android:background">@android:drawable/btn_default</item>
          <item name="android:focusable">true</item>
          <item name="android:clickable">true</item>
          <item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item>
          <item name="android:textColor">@android:color/primary_text_light</item>
          <item name="android:gravity">center_vertical|center_horizontal</item>
 </style>
    
</resources>
关键在于前面地一个attres.xml文件中的 declare-styleable name="Theme"这个可以使用一个单一的xml文件为THeme的子节点实现具体内容
<attr name="colorForeground" format="color" /> 这一句的format属性可以是: reference,color,boolean,dimension,float,integer,string,fraction,enum:枚举值,flag:位或运算。具体可以看链接,有多个属性时,可以使用|连接多个属性。
http://blog.csdn.net/pgalxx/article/details/6766677

在theme.xml中declare-styleable name="Theme"的每一条属性对应<style name="theme">下面的一个item子节点



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值