在进行UI设计时为了美观,可以自定义Button按钮的外观。比如自定义图片作为按钮的背景,直接将图片复制到项目的res/drawable/路径下,然后在xml文件中使用android:background进行定义即可。若想要在不同的状态下呈现不同的背景样式,则处理方法如下:
(1)在res/drawable/目录下新建一个xml文件命名为android_button.xml.
(2)在该文件中编写如下代码:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/android_pressed" android:state_pressed="true" /> <item android:drawable="@drawable/android_focused" android:state_focused="true" /> <item android:drawable="@drawable/android_normal" /> </selector>
这就相当于定义了一个单独的样式文件,每个item中包含按钮的背景图片和所处的状态,根据状态按钮呈现出不同的背景。当按钮被按下,也就是state_pressed为true时按钮的背景图片为drawable文件夹下的android_pressed.png文件。
(3)在使用Button的Activity所对应的xml文件中,使用android:background声明该样式,指定使用drawable文件夹下的android_button.xml文件。
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:background="@drawable/android_button"/>