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

Android中引用资源有关问题

2012-09-22 
Android中引用资源问题今天在Mms中遇到这样一个资源的引用 ?android:textColor?android:attr/textColorS

Android中引用资源问题

今天在Mms中遇到这样一个资源的引用 ?android:textColor="?android:attr/textColorSecondary"

?

一看是知道是引用android系统自带的资源,什么意思呢? google一下,原来是引用的主题资源。

?

原来引用的是framework中?/GingerBread/frameworks/base/core/res/res/values/attrs.xml 里面的资源:

<attr name="textColorSecondary" format="reference|color" />

这个format是什么意思呢?原来是一种自定义的属性。(http://www.gisall.com/html/35/160435-5369.html)

?

具体的查询如下:

1、 引用主题属性?

?

另外一种资源值允许你引用当前主题中的属性的值。这个属性值只能在样式资源和XML属性中使用;它允许你通过将它们改变为当前主题提供的标准变化来改变UI元素的外观,而不是提供具体的值。?

? ?android:textColor="?android:textDisabledColor"?

?

? ?注意,这和资源引用非常类似,除了我们使用一个"?"前缀代替了"@"。当你使用这个标记时,你就提供了属性资源的名称,它将会在主题中被查找--因为资源工具知道需要的属性资源,所以你不需要显示声明这个类型(如果声明,其形式就是?android:attr/android:textDisabledColor)。除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和"@"形式一致:?[namespace:]type/name,这里类型可选。

?

?

1. reference:参考某一资源ID。

? ? (1)属性定义:

? ? ? ? ? ? <declare-styleable name = "名称">

? ? ? ? ? ? ? ? ? ?<attr name = "background" format = "reference" />

? ? ? ? ? ? </declare-styleable>

? ? (2)属性使用:

? ? ? ? ? ? ?<ImageView

? ? ? ? ? ? ? ? ? ? ?android:layout_width = "42dip"

? ? ? ? ? ? ? ? ? ? ?android:layout_height = "42dip"

? ? ? ? ? ? ? ? ? ? ?android:background = "@drawable/图片ID"

? ? ? ? ? ? ? ? ? ? ?/>

?

热点排行