选择时,ImageButton背景不会更改

时间:2014-09-06 06:31:01

标签: android background selector imagebutton

我有一个ImageButton,当我按下它时,它的background / src应该被更改我已经为它创建了一个选择器,但它似乎没有工作。

任何人都可以告诉我它为什么不起作用。

navigation_button_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <layer-list>
            <item>
                <bitmap android:antialias="true" android:src="@drawable/t_navigation_dw" />
            </item>
            <item>
                <bitmap android:gravity="left" android:src="@drawable/left_padding" android:tileMode="disabled" />
            </item>
        </layer-list>
    </item>
    <item  android:state_pressed="false" android:state_focused="true">
        <layer-list>
            <item>
                <bitmap android:src="@drawable/t_navigation_dw" />
            </item>
            <item>
                <bitmap android:gravity="left" android:src="@drawable/left_padding" android:tileMode="disabled" />
            </item>
        </layer-list>
    </item>
    <item android:drawable="@drawable/t_navigation_up">
    </item>
</selector>

布局xml中的ImageButton初始化。

 <ImageButton
        android:id="@+id/navigation_image_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:src="@drawable/navigation_button_drawable" />

1 个答案:

答案 0 :(得分:2)

您没有将seletor xml文件设置为ImageButton

替换

android:background="@android:color/transparent"

android:background="@drawable/navigation_image_button_selector"

保持选中

onClick来电ImageView view.setSelected(true);内{p}
为了强制改变ImageView的内容。