如何为自定义按钮设置单击状态?

时间:2013-09-01 18:22:35

标签: android xml eclipse

我为按钮创建了自己的背景,我希望按钮在单击时更改。 我找到了这段代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/boutonnpousse" android:state_pressed="true"/>
<item android:drawable="@drawable/boutonn"/>
</selector>

但我在哪里使用它?我尝试在主XML文件中粘贴它但它无法正常工作。

2 个答案:

答案 0 :(得分:3)

您将此文件另存为res/drawable文件夹中的xml文件。如果此文件夹不存在,请创建它。在示例中,我使用的文件名是selector_drawable_name.xml

在此之后,无论何时使用Button,并希望它具有单击效果,请将其背景设置为此drawable:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button1"
    android:background="@drawable/selector_drawable_name" />

结果:当按钮的状态更改为state_pressed时,所选背景将为@drawable/boutonnpousse。默认(在其他所有状态中)将为@drawable/boutonn

答案 1 :(得分:1)

顺便说一句......您可以在以下站点中使用状态列表XML生成器:

http://myandroidsolutions.blogspot.co.il/p/android-state-list-generator-v2.html

只需检查您要添加的状态,并在底部的相应字段中指定可绘制的文件名。生成器将使用正确的状态以正确的顺序生成XML元素。