在很多刚入门的新手在开发实例的过程中,经常会遇到要按下某个ImageView时,需要加入确认感的时候.需要在按下的时候,控制ImageVIew内图片的显示.
在我是新手的时候,也这样做过.
所以这里简单介绍一下selector选择器的使用.
首先定义需要准备两张图片,一张不按下去的,一张是按下去的.
分别叫做buttonunpressed.png 和buttonpressed.png
把他们放大drawable文件目录下(与要开发应用需要的分辨率文件夹中).
如果你的工程的res文件目录下有drawable文件(不带分辨率).则需要新建一个drawable文件夹(不带分辨率)
新建一个xml文件,取名叫做 button_selector.xml
xml代码如下
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:state_pressed="false"
- android:drawable="@drawable/button_unpressed" />
- <item
- android:state_pressed="true"
- android:drawable="@drawable/button_pressed" />
- </selector>
这样我们的selector选择器就配置好了.
然后接下来,我们就可以需要使用它;
- <Button
- android:id="@+id/setting"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@drawable/button_selector"
- />
然后运行效果看看吧.
注意: selector文件 不管是在xml中或者是代码中使用方法 跟调用图片的方式是一样的.
某些组件使用selector是不会有效果的.例如ImageView组件,因为ImageView是非焦点组件.不会获取
屏幕焦点.所有的非焦点组件都不会响应selector内定义的内容.