我正在玩Android Studio。
我正在尝试更改背景色。我已经找到了如何更改它的方法,但令我感到困惑的是,如果我替换colorAccent属性的定义(即实际的十六进制代码),我不会看到相同的颜色。
这是原始文件,使用的是@color/colorAccent
,它最终是类R.color
中定义的十六进制代码:
这是我替换colorAccent引用的十六进制代码时得到的:
如您所见,我得到的是灰色而不是红色。为什么是这样? 谢谢。 [Android Studio 3.2]
答案 0 :(得分:1)
它不是红色阴影,因为取决于您的选择。 如果对它进行硬编码,则可以更改XML的颜色。 单击代码左侧的侧面颜色:
但是,如果您将其设置为android:background="@color/colorPrimary"
您应该将其更改为彩色XML
答案 1 :(得分:1)
colorAccent
中R.java
的十六进制值与颜色无关,而是为colors.xml
中的XML属性自动生成的唯一ID。如您所见,变量的十六进制值都是有序的,每次都增加1。
colorAccent
中定义了由colors.xml
表示的颜色的实际十六进制代码,直接将其替换为android:background
属性将可以按您期望的方式工作。