Android中attr自定义属性详解
转载于:http://www.20864.com/wp/140.html
首先在你需要使用自定义属性的布局文件中定义标签,当然也可以使用系统默认标签android:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:zkx=http://schemas.android.com/apk/res/com.zkx.test
android:orientation="vertical" android:layout_width="fill_parent";
android:layout_height="wrap_content">
第二行是自定义标签。
格式如上,其中“xmlns:zkx”冒号后面是标签名,在下面使用时(只对当前文件可用)
<TextView zkx:属性名/>
“com.zkx.test”是你的工程包名。
一、reference:参考指定Theme中资源ID。
1.定义:
<declare-styleable name="My">
<attr name="label" format="reference" >
</declare-styleable>
2.使用: <Buttonzkx:label="@string/label" >
二、Color:颜色
1.定义:
<declare-styleable name="My">
<attr name="textColor" format="color" />
</declare-styleable>
2.使用:<Button zkx:textColor="#ff0000"/>
三、boolean:布尔值
1.定义:
<declare-styleable name="My">
<attr name="isVisible" format="boolean" />
</declare-styleable>
2.使用:
<Button zkx:isVisible="false"/>
四、dimension:尺寸值
1.定义:
<declare-styleable name="My">
<attr name="myWidth" format="dimension" />
</declare-styleable>
2.使用:
<Button zkx:myWidth="100dip"/>
五、float:浮点型
1.定义:
<declare-styleable name="My">
<attr name="fromAlpha" format="float" />
</declare-styleable>
2.使用:
<alpha zkx:fromAlpha="0.3"/>
六、integer:整型
1.定义:
<declare-styleable name="My">
<attr name="frameDuration" format="integer" />
</declare-styleable>
2.使用:
<animated-rotate zkx:framesCount="22"/>
七、string:字符串
1.定义:
<declare-styleable name="My">
<attr name="Name" format="string" />
</declare-styleable>
2.使用: <rotate zkx:pivotX="200%"/>
八、fraction:百分数
1.定义:
<declare-styleable name="My">
<attr name="pivotX" format="fraction" />
</declare-styleable>
2.使用:
<rotate zkx:Name="My name is zhang kun xiang"/>
九、enum:枚举
1.定义:
<declare-styleable name="My">
<attr name="language">
<enum name="English" value="1"/>
</attr>
</declare-styleable>
2.使用:
<Button zkx:language="English"/>
十、flag:位或运算
1.定义:
<declare-styleable name="My">
<attr name="windowSoftInputMode">
<flag name="stateUnspecified" value="1" />
<flag name = "adjustNothing" value = "0x30" />
</attr>
</declare-styleable>
2.使用:
<activity android:windowSoftInputMode="stateUnspecified | adjustNothing">
属性定义时可以指定多种类型值:
<declare-styleable name = "名称">
<attr name="background" format="reference|color" />
</declare-styleable>
使用:
<ImageView android:background = "@drawable/图片ID|#00FF00"/>
Android中attr自定义属性详解
转载于:http://www.20864.com/wp/140.html
首先在你需要使用自定义属性的布局文件中定义标签,当然也可以使用系统默认标签android:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:zkx=http://schemas.android.com/apk/res/com.zkx.test
android:orientation="vertical" android:layout_width="fill_parent";
android:layout_height="wrap_content">
第二行是自定义标签。
格式如上,其中“xmlns:zkx”冒号后面是标签名,在下面使用时(只对当前文件可用)
<TextView zkx:属性名/>
“com.zkx.test”是你的工程包名。
一、reference:参考指定Theme中资源ID。
1.定义:
<declare-styleable name="My">
<attr name="label" format="reference" >
</declare-styleable>
2.使用: <Buttonzkx:label="@string/label" >
二、Color:颜色
1.定义:
<declare-styleable name="My">
<attr name="textColor" format="color" />
</declare-styleable>
2.使用:<Button zkx:textColor="#ff0000"/>
三、boolean:布尔值
1.定义:
<declare-styleable name="My">
<attr name="isVisible" format="boolean" />
</declare-styleable>
2.使用:
<Button zkx:isVisible="false"/>
四、dimension:尺寸值
1.定义:
<declare-styleable name="My">
<attr name="myWidth" format="dimension" />
</declare-styleable>
2.使用:
<Button zkx:myWidth="100dip"/>
五、float:浮点型
1.定义:
<declare-styleable name="My">
<attr name="fromAlpha" format="float" />
</declare-styleable>
2.使用:
<alpha zkx:fromAlpha="0.3"/>
六、integer:整型
1.定义:
<declare-styleable name="My">
<attr name="frameDuration" format="integer" />
</declare-styleable>
2.使用:
<animated-rotate zkx:framesCount="22"/>
七、string:字符串
1.定义:
<declare-styleable name="My">
<attr name="Name" format="string" />
</declare-styleable>
2.使用: <rotate zkx:pivotX="200%"/>
八、fraction:百分数
1.定义:
<declare-styleable name="My">
<attr name="pivotX" format="fraction" />
</declare-styleable>
2.使用:
<rotate zkx:Name="My name is zhang kun xiang"/>
九、enum:枚举
1.定义:
<declare-styleable name="My">
<attr name="language">
<enum name="English" value="1"/>
</attr>
</declare-styleable>
2.使用:
<Button zkx:language="English"/>
十、flag:位或运算
1.定义:
<declare-styleable name="My">
<attr name="windowSoftInputMode">
<flag name="stateUnspecified" value="1" />
<flag name = "adjustNothing" value = "0x30" />
</attr>
</declare-styleable>
2.使用:
<activity android:windowSoftInputMode="stateUnspecified | adjustNothing">
属性定义时可以指定多种类型值:
<declare-styleable name = "名称">
<attr name="background" format="reference|color" />
</declare-styleable>
使用:
<ImageView android:background = "@drawable/图片ID|#00FF00"/>