一.作用:
一般用于不同的状态下的颜色的改变或者背景的改变
二.状态的总述:
android:state_selected:被选择时的状态
android:state_focused:获得焦点时的状态
android:state_pressed:被按压时的状态
android:state_enabled:控件能否处理touch或者click事件时的状态
android:state_active:激活状态
android:state_checkable:是否可以被checked的状态
android:state_checked:是否被选中时的状态
android:state_hovered:当光标移动到某一个控件时的状态
android:state_window_focused:当前界面是否得到焦点的状态
三.使用:
(1)首先定义一个xml文件,这里假设文件为selector_color.xml,定义如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black" android:state_checked="false" />
<item android:color="@color/white" android:state_checked="true" />
</selector>
(2)使用方式:引入相应的xml文件即可
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activity.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文字"
android:textColor="@drawable/selector_color"
android:textSize="40sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
注意:这里只是一个简单的演示,引入的selector_color.xml就随便放在放在drawable中,规范一点的话,那就创建一个color的文件夹,将有关color的selector放在其中,而有关drawable的selector放在drawable文件夹下面。