Android-can';t更改按钮状态更改时的背景

Android-can';t更改按钮状态更改时的背景,android,button,background,state,Android,Button,Background,State,我已经在这里做了深入的研究,尝试了很多事情,但都没有成功。这是我的密码: btn_estoque.xml <item android:drawable="@drawable/estoque_menu_ativo" android:state_enabled="false"></item> <item android:drawable="@drawable/estoque_menu" android:state_pressed="false"></item

我已经在这里做了深入的研究,尝试了很多事情,但都没有成功。这是我的密码:


btn_estoque.xml

<item android:drawable="@drawable/estoque_menu_ativo" android:state_enabled="false"></item>
<item android:drawable="@drawable/estoque_menu" android:state_pressed="false"></item>
<item android:drawable="@drawable/estoque_menu_ativo" android:state_pressed="true"></item>
 <?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/estoque_menu_ativo" />
 <item android:state_focused="true" android:drawable="@drawable/estoque_menu" />
 <item android:drawable="@drawable/estoque_menu" />
 </selector>
我错过了什么?单击按钮时,图像仅在按下按钮时更改

编辑


这可能是某个生命周期问题吗?按钮将更改为所需的图像,但片刻后返回原始图像

删除state\u pressed false并使xml如下所示:

<item android:drawable="@drawable/estoque_menu_ativo" android:state_enabled="false"></item>
<item android:drawable="@drawable/estoque_menu"></item>
<item android:drawable="@drawable/estoque_menu_ativo" android:state_pressed="true"></item>

删除状态\u pressed false并使xml如下所示:

<item android:drawable="@drawable/estoque_menu_ativo" android:state_enabled="false"></item>
<item android:drawable="@drawable/estoque_menu"></item>
<item android:drawable="@drawable/estoque_menu_ativo" android:state_pressed="true"></item>

btn_estoque.xml

<item android:drawable="@drawable/estoque_menu_ativo" android:state_enabled="false"></item>
<item android:drawable="@drawable/estoque_menu" android:state_pressed="false"></item>
<item android:drawable="@drawable/estoque_menu_ativo" android:state_pressed="true"></item>
 <?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/estoque_menu_ativo" />
 <item android:state_focused="true" android:drawable="@drawable/estoque_menu" />
 <item android:drawable="@drawable/estoque_menu" />
 </selector>

btn_estoque.xml

<item android:drawable="@drawable/estoque_menu_ativo" android:state_enabled="false"></item>
<item android:drawable="@drawable/estoque_menu" android:state_pressed="false"></item>
<item android:drawable="@drawable/estoque_menu_ativo" android:state_pressed="true"></item>
 <?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/estoque_menu_ativo" />
 <item android:state_focused="true" android:drawable="@drawable/estoque_menu" />
 <item android:drawable="@drawable/estoque_menu" />
 </selector>

btn_estoque.xml
甚至是一个可绘制的选择器吗

可能有些过分,但请尝试将选择器更改为:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_activated="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_active="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>

    <item android:drawable="@drawable/estoque_menu"/>
</selector>

btn_estoque.xml
甚至是一个可绘制的选择器吗

可能有些过分,但请尝试将选择器更改为:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_activated="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_active="true" android:drawable="@drawable/estoque_menu_ativo"/>
    <item android:state_pressed="true" android:drawable="@drawable/estoque_menu_ativo"/>

    <item android:drawable="@drawable/estoque_menu"/>
</selector>

尝试添加:
谢谢朋友,但无效。尝试添加:
谢谢朋友,但无效。无效,因为中间一行使最后一行无法访问。然后我把它放在最后一个位置,但也不起作用,因为中间的线使最后一行无法到达。然后我把它放在最后一个位置,但效果不好。奇怪。所以你的
按钮被禁用了,但它看起来好像被启用了?是的,这正是发生的事情,真的很奇怪。我选中了buy use Toast以显示状态,它更改为do disabled。使用更大的选择器再次更新。我记得有一个关于状态的bug,但只在特定的设备上。这个有帮助,真奇怪。所以你的
按钮被禁用了,但它看起来好像被启用了?是的,这正是发生的事情,真的很奇怪。我选中了buy use Toast以显示状态,它更改为do disabled。使用更大的选择器再次更新。我记得有一个关于状态的bug,但只在特定的设备上。这个有帮助。