按下时更改 ImageButton 背景颜色

Change ImageButton background color on press

我看到过许多悬停时 ImageButton 的例子,但它们改变了图像。我只是想改变背景颜色。

这是我的选择器 -

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" android:color="#4B88F7"/>
<item android:state_pressed="false" android:color="#121212"/>

还有我的 ImageButton -

    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:background="@color/actionbar_btn"
        android:src="@drawable/ic_remove" />

res/drawable/ 目录中创建文件 custom_selector.xml,内容如下:

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/btn_pressed"/>
    <item android:state_pressed="false" android:drawable="@color/btn_released"/>
</selector>

然后将此背景应用到 ImageButton,方法是将其设置为 background:

<ImageButton
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="2"
    android:background="@drawable/custom_selector.xml"
    android:src="@drawable/ic_remove" />

https://developer.android.com/guide/topics/resources/color-list-resource.html