Android Studio中颜色状态列表的使用

在Android Studio中,一个控件可能会有不同的状态,例如获得焦点状态、被按下状态等。颜色状态列表(Color State List)用于控制Android Studio中视图在不同状态下显示的不同颜色。

1 XML文件

可以使用XML文件定义颜色状态列表。

1.1创建color文件夹

首先在当前项目的res文件夹中,创建color文件夹。在res中创建的文件夹的方法请参考

Android Studio中选项菜单的使用方法2-1_hou09tian的博客-CSDN博客

1.2 创建XML文件

之后,在color文件夹的右键菜单中选择“New->Color resource file”,如图1所示,创建颜色资源文件。

图1 创建颜色资源文件

之后,在弹出的“New Color Resource File”对话框中,输入创建的颜色资源文件的文件名,如图2所示。

 

图2 “New Color Resource File”对话框

双击“yang_button_color.xml”文件(图3①),可以看到,创建的颜色资源文件的根元素是“selector”(图3②)

 

图3 颜色资源文件

1.3 编写XML文件

在颜色资源文件的根元素“selector”中,使用“item”子元素来表示不同状态下的颜色。通过“item”子元素的属性来表示不同的状态和颜色,如图4所示。

 

图4 “item”子元素

从图4中可以看出,颜色资源文件通过三个“item”子元素定义了三种不同状态下的颜色。其中android:state_pressed表示控件是否处于被选中状态,图4①定义了当控件处于被选中状态时,其颜色为红色;android:state_focused表示控件是否获取焦点,图4②定义了当控件获取焦点后,其颜色为蓝色;图4③定义了默认颜色是黑色。

2 使用颜色状态列表

在布局文件中添加Button控件,如图5所示。

 

图5 布局文件中的Button控件

其中,Button控件的“textColor”属性设置为“1.2 创建XML文件”中创建的颜色状态列表文件。

程序运行后,Button如图6所示。

图6 Button初始的颜色状态

当点击该Button后,其颜色变为红色,如图7所示。

 

图7 Button点击后的颜色状态

相关链接1 “item”子元素除了文中提到的“state_pressed”和“state_focused”两个属性之外,还有“state_selected”(控件是否被选中)、“state_checked”(控件是否被勾选)、“state_enable”(控件是否处于可以状态)、“state_activated”(控件是否处于活动状态)和“state_window_focused”(窗口是否获得焦点)等属性。

相关链接2 系统将使用颜色状态列表中与控件的当前状态匹配的第一项。因此,如果列表中的第一项不包含上述任何状态属性,则每次都会应用该项,因此默认值应始终为最后一项。

 

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>