Android 资源文件引用 @, ?, @android:type

  1. @引用资源.  @[package:]type/name
      [package:] 可选;
      type 为具体类型  eg.color,string ; 
      name 属性名
    eg. @string/app_name

  2. @android:type/name 引用系统资源
      系统定义的属性资源 android.R 中

  3. ?引用主题属性.
      引用定义在主题中的属性值. 只能在style和xml中使用, 允许你改变当前主题而使UI随之变化. 
           在Activity中, setTheme一定要在setContentView之前被调用. 不然界面解析完成之后,在设置主题,界面不会重绘
      eg. android:textColor="?android:textDisabledColor" 
    注意,这和资源引用非常类似,除了我们使用一个"?"前缀代替了"@"。当你使用这个标记时,你就提供了属性资源的名称,它将会在主题中被查找,所以你不需要显示声明这个类型(如果声明,其形式就是?android:attr/android:textDisabledColor)。除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和"@"形式一致:?[namespace:]type/name,这里类型可选。
       eg. 引用自己定义的一些属性  ?attr/FTTitleBackground

  4. 定义属性
      
    <declare-styleable name="ForTheme">
            <!-- title背景 -->
            <attr name="FTTitleBackground" format="reference|color" />
    </declare-styleable>

     



     

posted on 2015-05-04 21:07  Iori_z  阅读(297)  评论(0)    收藏  举报

导航