之间有什么区别
android:color="@android:color/black"
和
style="?android:attr/borderlessButtonStyle"
@
和?
之间有什么区别?
这是其中一个不可用的问题,或ogooglebar。
答案 0 :(得分:9)
<强> @android:彩色/黑色强>
表示您指的是android命名空间中定义的颜色。 该命名空间是框架的命名空间。
在此文件中搜索黑色:black color in framework
style =“?android:attr / borderlessButtonStyle”
“?android:attr / borderlessButtonStyle”只是意味着“使用名称空间android中名为borderlessButtonStyle的属性定义的值”。该属性及其值是Android框架的一部分,即“android”命名空间。
borderlessButtonStyle in framework
已修改
此链接告诉我们:
例如,以下是如何引用属性以设置文本颜色以匹配系统主题的“主要”文本颜色:
<EditText id="text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="?android:textColorSecondary"
android:text="@string/hello_world" />
答案 1 :(得分:5)
(来自this回答及其评论)
使用问号前缀ID表示您要访问样式主题中定义的样式属性,而不是按Referencing Style Attributes中的说明对属性进行硬编码。
更具体地说,?
意味着额外的间接级别。可以将其视为取消引用主题属性以获取它指向的资源,而不是引用属性本身。你看到这个?android:attr / foo
答案 2 :(得分:1)