ITEEDU

主题属性引用

另一种资源数值允许你引用当前主题属性值。这种属性引用只能被用于特殊的资源类以及XML属性中; 它允许你根据现在主题风格将你定制的UI变得更标准化,而不用使用大量的具体数值。

这里有个例子,我们能在布局文件中将文本颜色设置为基本系统主题中定义好的标准颜色:

<?xml version="1.0" encoding="utf-8"?>
<EditText id="text"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:textColor="?android:textDisabledColor"
    android:text="@string/hello_world" />

注意除来我们将前缀'?'代替了'@',其他非常像资源引用。当你使用这个标记,系统会自动查找你提供的属性的名字 -- 资源工具知道肯定会有资源属性相符合,你不需要详细指定(?android:attr/android:textDisabledColor).

使用资源标识符到主题里去寻找相应的数据而不是直接使用原数据,其语法和'@'模式是一样的: ?[namespace:]type/name 这里的type是可选择的.