7

有什么区别

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

style="?android:attr/borderlessButtonStyle" 

@和有什么区别?

这是无法通过谷歌搜索的问题之一,或者ogooglebar

4

3 回答 3

9

@android:颜色/黑色

表示您指的是在 android 命名空间中定义的颜色。这个命名空间是框架的命名空间。

在此文件中搜索黑色:框架中的黑色

style="?android:attr/borderlessButtonStyle"

"?android:attr/borderlessButtonStyle" 简单的意思是“使用命名空间android 中名为borderlessButtonStyle 的属性定义的值”。此属性及其值是 Android 框架的一部分,即“android”命名空间。

框架中的无边框按钮样式


编辑:从此引用样式属性

这个链接告诉我们:

例如,以下是如何引用属性来设置文本颜色以匹配系统主题的“主要”文本颜色:

<EditText id="text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="?android:textColorSecondary"
    android:text="@string/hello_world" />
于 2013-05-22T05:37:36.550 回答
5

(来自这个答案及其评论)

使用问号前缀 ID 表示您要访问在样式主题中定义的样式属性,而不是硬编码该属性,如 引用样式属性中所述。

更具体地说,这?意味着额外的间接级别。将其视为取消引用主题属性以获取它指向的资源,而不是引用属性本身。你用 ?android:attr/foo 看到这个

于 2013-05-22T05:37:47.893 回答
1

这里谷歌有一个关于它的文件http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes

于 2013-05-22T05:44:28.613 回答