按下时更改ImageButton背景颜色

时间:2016-06-21 18:34:30

标签: android android-imagebutton

我在悬停时看到了很多关于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" />

1 个答案:

答案 0 :(得分:2)

custom_selector.xml目录中创建一个文件res/drawable/,其中包含以下内容:

<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