如何创建一个更改其背景图像以表示其状态的按钮

时间:2014-11-30 00:05:28

标签: android eclipse button background

如何创建一个按钮来更改其背景图像以表示默认,按下或聚焦状态?

2 个答案:

答案 0 :(得分:0)

使用选择器非常容易。

在drawable文件夹中创建一个包含以下内容的新xml文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/drawable_selected" android:state_selected="true"></item>
    <item android:drawable="@drawable/drawable_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/drawable_default"></item>

</selector>

然后在按钮中引用此选择器:

<Button
     android:id="@+id/button"
     android:background="@drawable/selector_you_just_made"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:text="Button" />

可以找到更多文档和其他可能的状态here

答案 1 :(得分:0)

XML drawable:

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

按钮:

<Button
    android:id="@+id/button_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage"
    android:background="@drawable/button_custom"  />

Here in section Custom background是更多信息