android - 如何使用选择器更改 ImageButton 图像?

标签 android onclick selector imagebutton

如何让 ImageButton 图像在您按下时改变它的图像?

最佳答案

希望对您有所帮助。

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

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

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 方法中不需要任何额外的代码。

关于android - 如何使用选择器更改 ImageButton 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12476898/

相关文章:

android - 使用密码学安全地存储数据

javascript - 如何使 button.onClick 不在启动时运行

Jquery选择html()或text()但不选择嵌套的span和div

android:删除 ListView 选择器

iOS - 计时器选择器线程

java - Android : Simple HTTPS request and get response

java - 线程 asynctask 和 listview

android - 从 git 项目添加 gradle 依赖

android - fragment 中的按钮 OnClick

javascript - onClick -> Fiddle 在第一次点击时起作用,但停止工作 - 神秘