4

如何让 ImageButton 图像在按下时更改其图像?

4

1 回答 1

13

我希望你觉得这有帮助。

这一切都可以在 XML 中完成。

1) 将按下和未按下状态的图像导入 res/drawable-无论哪个文件夹

2)制作你的选择器。右键单击可绘制文件夹并选择新建/Android xml 文件。输入名称,例如“ok_button_selector.xml”,然后从下面的菜单中选择“selector”作为根元素。您需要为屏幕上的每个按钮创建不同的选择器。

3)在每个选择器文件中,您需要定义单击时将显示的图像,如下所示:

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

它们必须按此顺序排列,因为最后一个是默认值。

4) 在您的布局文件中使用 android:onClick="myButtonClicked" 方法来定义按钮点击行为。这样就不必使用点击侦听器了。只需确保您的 java 方法具有相同的名称 :-)

5) 在 ImageButton 标签中定义属性 android:src="@drawable/ok_button_selector" 而不是通常的图像文件。

就是这样!您的 java onClick 方法中不需要任何额外的代码。

于 2012-09-18T12:19:38.697 回答