在Android中,控件Button和ImageButton一般有三种状态:常态(normal)、点击状态(pressed)、聚焦状态(focused)。很多时候,我们为了提高用户的体验常常为Button以及ImageButton的不同状态设置不同的背景图片,下面介绍一种利用selector设置Button和ImageButton不同状态下的背景图片的方法。
具体步骤如下:一、在res/drawable文件下创建selector.xml,示例代码如下:
01.<SPAN style="FONT-SIZE: 16px"><?xml version="1.0" encoding="utf-8"?>
02.<selector xmlns:android="http://schemas.android.com/apk/res/android">
03. <item
04. android:state_pressed="false"
05. android:drawable="@drawable/title_button_back">
06. </item>
07. <item
08. android:state_pressed="true"
09. android:drawable="@drawable/title_button_back_h">
10. </item>
11. <item
12. android:state_window_focused="false"
13. android:drawable="@drawable/title_button_back">
14. </item>
15.</selector></SPAN>
二、编写布局文件,为布局文件中的ImageButton设置selector,示例代码如下:
01.<SPAN style="FONT-SIZE: 16px"><?xml version="1.0" encoding="utf-8"?>
02.<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
03. android:layout_height="wrap_content"
04. android:layout_width="fill_parent">
05. <ImageButton
06. android:id="@+id/title_IB"
07. android:layout_height="wrap_content"
08. android:layout_width="wrap_content"
09. android:background="#00000000"
10. android:layout_marginRight="4dp"
11. android:layout_centerVertical="true"
12. android:src="@drawable/selector">
13. </ImageButton>
14.</RelativeLayout></SPAN>