首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

引述主题属性

2012-07-20 
引用主题属性文档里写的引用主题属性的方法如下:?[package_name:][resource_type/]resource_name这

引用主题属性

文档里写的引用主题属性的方法如下:

?[<package_name>:][<resource_type>/]<resource_name>

这种引用方法只能在xml文件中使用。

?表示引用属性,当使用这个属性的时候,资源工具会从当前的主题样式中查找这个资源名称,可以不用指名具体是类型。

用于主题的样式如下:

<style name="Theme.XXXX" parent="@android:style/Theme.Light.NoTitleBar"><item name="android:windowAnimationStyle">@style/Animation.Activity.XXXX</item><item name="android:textColorHint">@color/red</item></style>

其中有一个属性的名称为:android:textColorHint,如果想在xml文件中引用这个属性的值,做法如下:

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="主 页"android:textColor="?android:textColorHint"/>

这样这个TextView的字体颜色就会和主题样式的<item name="android:textColorHint"></item>的值一样了


把主题样式和TextView的写法改成如下,也可以达到要求:

<style name="Theme.XXXX" parent="@android:style/Theme.Light.NoTitleBar"><item name="android:windowAnimationStyle">@style/Animation.Activity.XXXX</item><item name="android:textColorHint">@color/red</item><item name="android:textColor">@color/red</item></style><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="主 页"/>

这样的话,TextView的颜色会和主题里的android:textColor的颜色的值一样,如果主题样式中没有属性android:textColor,则TextView会显示其默认值

?

注意:这个默认值和不设主题的默认值是不一要样的,如果不设主题样式,则其默认值由机器来决定,如果设置了主题样式,但主题样式中没有这个属性android:textColor,则应该是由其内部的代码所决定的。

热点排行