“@”和“?”之间的区别具体的例子?

时间:2015-01-19 11:31:18

标签: android android-layout android-xml

我知道以@?开头的XML属性之间的差异定义。第一个引用全局样式属性,而第二个适用于具体样式中的相同属性。简而言之。

但是,我仍然不确定何时使用一个或另一个限定词。即,

之间有什么区别
android:textAppearance="?android:attr/textAppearanceLarge"
android:textAppearance="@android:style/TextAppearance.Large"

这是相同的属性,对吧?!

然后,为什么有

android:textColor="@android:color/black"

没有之类的

android:textColor="?android:color/black" (or similar variance)

最后,?的使用是否与使用DeviceDefault群组中的属性相同?

我希望有人能够为我澄清这些事情。我确信我的事情过于复杂,这就是我需要澄清的原因。

2 个答案:

答案 0 :(得分:0)

?android = 这用于访问在样式主题中定义的样式属性

<强>信息: http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes

@android = 这用于项目或Android框架中定义的资源。

<强>例如

android:textAppearance="?android:attr/textAppearanceLarge"这是一种当前主题的风格。

android:textAppearance="@android:style/TextAppearance.Large"这是一种内置风格的android风格..毫无疑问这些可能是相同的..

点击此链接:

dpi value of default "large", "medium" and "small" text views android

答案 1 :(得分:0)

这也是可用的

机器人:?文字颜色=&#34;机器人:彩色/黑色&#34;

将此设置为某个xml组件,您可以从xml导航到该组件,该组件将位于您的

/ SDK /平台/机器人 - #/数据/ RES /值/ colors.xml