android resources文件夹中res/color和res/values/colors.xml之间的差异

prdp8dxp  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(512)

为什么在资源文件夹中有两个文件夹可以定义颜色(根据android开发者页面http://developer.android.com/guide/topics/resources/providing-resources.html#resourcetypes).
这是来自android开发者页面的引用:
价值观/
包含简单值(如字符串、整数和颜色)的xml文件。
颜色/
定义颜色状态列表的xml文件。请参见颜色状态列表资源
存储在res/colors和res/values中的颜色有什么区别吗?哪个更好?

sigwle7e

sigwle7e1#

请参见颜色状态列表资源
你注意到那个链接了吗?http://developer.android.com/guide/topics/resources/color-list-resource.html
我想它回答了你的问题。

aoyhnmkz

aoyhnmkz2#

根据地点,

分辨率/颜色/

用于编译为指向 ColorStateList .
ColorStateList 是一个可以在xml中定义的对象,可以将其应用为颜色,但实际上会根据应用该对象的视图对象的状态而更改颜色。
语法:

<?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>

资源/价值/

如果要提供静态颜色资源,请使用简单的颜色值。
这是xml中定义的颜色值,由rgb值和alpha通道指定。
可以在接受十六进制颜色值的任何位置使用颜色资源。
当xml中需要可绘制资源时,也可以使用颜色资源(例如, android:drawable="@color/green" ).

相关问题