Android 资源文件引用 @, ?, @android:type
- @引用资源. @[package:]type/name
[package:] 可选;
type 为具体类型 eg.color,string ;
name 属性名
eg. @string/app_name - @android:type/name 引用系统资源
系统定义的属性资源 android.R 中 - ?引用主题属性.
引用定义在主题中的属性值. 只能在style和xml中使用, 允许你改变当前主题而使UI随之变化.
在Activity中, setTheme一定要在setContentView之前被调用. 不然界面解析完成之后,在设置主题,界面不会重绘
eg. android:textColor="?android:textDisabledColor"
注意,这和资源引用非常类似,除了我们使用一个"?"前缀代替了"@"。当你使用这个标记时,你就提供了属性资源的名称,它将会在主题中被查找,所以你不需要显示声明这个类型(如果声明,其形式就是?android:attr/android:textDisabledColor)。除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和"@"形式一致:?[namespace:]type/name,这里类型可选。
eg. 引用自己定义的一些属性 ?attr/FTTitleBackground - 定义属性
<declare-styleable name="ForTheme"> <!-- title背景 --> <attr name="FTTitleBackground" format="reference|color" /> </declare-styleable>
浙公网安备 33010602011771号