一、概述
作用:
setSelected() 方法是 Android 系统层级 View 类的方法,可以说所有的显示控件,都有这个方法!
它的作用,是用来切换背景显示的
运用:
日常开发中,经常会遇到一个控件 点击 和 未点击 是2个样式的情况
这种需求的实现方法也N多种,调用 控件 的 setSelected() 方法,是其中一种比较方便的实现方法
下面给大家介绍如何实现,非常简单!
二、实现
下面上2段代码:
res/drawable/bg_maim.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 触摸时并且当前窗口处于交互状态 -->
<item android:state_pressed="true" android:state_window_focused="true" android:drawable= "@drawable/pic1" />
<!-- 触摸时并且没有获得焦点状态 -->
<item android:state_pressed="true" android:state_focused="false" android:drawable="@drawable/pic2" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic3" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic4" />
<!-- 窗口没有处于交互时的背景图片 -->
<item android:drawable="@drawable/pic5" />
</selector>
MainActivity.java
textView.setBackground(UIUtils.getDrawable(R.drawable.bg_indicator));
textView.setSelected(true);
当程序执行完 setSelected(true); 的时候,textview的背景图片就会切换到pic3啦!
切换控件状态背景
就是这么简单!