Android资源文件夹中res/color和res/values/colors.xml之间的差异

Mar*_*rek 17 java directory resources android colors

有什么理由,为什么在资源文件夹中我们有两个文件夹可以定义颜色?(根据android开发者页面http://developer.android.com/guide/topics/resources/providing-resources.html#ResourceTypes).

这是android开发者页面的引用:


包含简单值的值/ XML文件,例如字符串,整数和颜色.


定义颜色状态列表的颜色/ XML文件.请参见颜色状态列表资源

存储在res/colors和res/values中的颜色之间有什么区别吗?哪个更优选?

Aur*_*and 13

请参见颜色状态列表资源

你有没有关注这个链接? http://developer.android.com/guide/topics/resources/color-list-resource.html

我认为它回答了你的问题.


TT-*_*T-- 8

按地点,

res/color/

用于编译为数据类型的资源 Resource 指向 a 的指针ColorStateList

  • AColorStateList是您可以在 XML 中定义的对象,您可以将其应用为颜色,但实际上会更改颜色,具体取决于应用它的 View 对象的状态。

  • 句法:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
       <item
        android:color="hex_color"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
      </selector>
    
    Run Code Online (Sandbox Code Playgroud)

res/values/

如果要提供静态颜色资源,请使用简单的 Color 值

  • 这是在 XML 中定义的颜色值,用 RGB 值和 alpha 通道指定。
  • 您可以在任何接受十六进制颜色值的地方使用颜色资源。
  • 当 XML 中需要可绘制资源时,您还可以使用颜色资源(例如,android:drawable="@color/green")。