Android ImageButton背景在选中时不会更改

Android ImageButton背景在选中时不会更改,android,background,selector,imagebutton,Android,Background,Selector,Imagebutton,我有一个ImageButton,当我按下它时,它的background/src应该被改变。我已经为它创建了一个选择器,但它似乎不起作用 有人能告诉我为什么它不起作用吗 导航按钮\u drawable.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:stat

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

有人能告诉我为什么它不起作用吗

导航按钮\u 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" />

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

替换

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

保持选中状态

ImageView
调用
view.setSelected的
onClick
内(true)

为了强制更改
ImageView
的内容。

您没有将seletor xml文件设置为
ImageButton
设置
android:background=“@drawable/navigation\u image\u button\u selector”
我很好,但当我从按钮离开手指时,它又回到了以前的状态,我希望它被选中。如果它单击一次,就意味着它必须保持选中状态。单击该
imageView后,需要执行
imageView.setSelected()
android:background="@drawable/navigation_image_button_selector"