Android: Color State List Resource (颜色申明列表资源)

概述:ColorStateList对象定义在xml中, 它可以真正根据视图组件的状态,来改变视图组件的颜色。

文件位置:res/color/filename.xml。

指向的对象:ColorStateList类。

引用方式:1. 在java中, R.color.filename。 2. 在xml中, @[package:]color/filename

<?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>
<selector>  根节点, 包含一个或多个<item>节点。

1. xmlns:android xml命名空间, ”http://schemas.android.com/apk/res/android“。

<item>

1. android:color 十六进制颜色值。 #RGB, #ARGB, #RRGGBB, #AARRGGBB。

2. android:state_pressed boolean类型, 当对象被按下时,使用这个状态的颜色值。

3. android:state_focused boolean类型, 当对象获得焦点时。

4. android:state_selected boolean类型, 当对象被选择的时候。

5. android:state_checkable boolean类型, 当对象状态变成可选择的时候。

6. android:state_checked boolean 类型, 当对象状态变成checked。

7. android:state_enabled boolean类型, 当对象的状态变成enabled。

8. android:state_window_focused boolean类型, 当应用窗口获得焦点。


实例:

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/clickMe"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/color_button"
        android:text="ClickMe" />
</LinearLayout>

颜色列表资源文件: 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#ffff0000" android:state_pressed="true" />
    <item android:color="#ff000000" />
</selector>



不同的状态, 可以为组件设置不同的颜色。

猜你喜欢

转载自blog.csdn.net/u011326269/article/details/51812589
今日推荐