Android - 无法更改按钮状态的背景

时间:2016-03-04 12:35:32

标签: android button background state

我已经在这里进行了深入的研究并尝试了许多事情而没有成功。这是我的代码:

btn_estoque.xml

    public void estoqueClick(View v) {
           btnEstoque.setEnabled(false);

           Intent intent = new Intent(v.getContext(), EstoqueActivity.class);
           intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
           startActivity(intent);
    }

按钮代码:

{{1}}

在课堂上:

{{1}}

我错过了什么?单击按钮时,仅在按下按钮时才更改图像。

EDITED

这可能是一些生命周期问题吗?按钮变为所需的图像,但稍后返回到原始图像。

2 个答案:

答案 0 :(得分:0)

删除state_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>

答案 1 :(得分:0)

<强> btn_estoque.xml

 <?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>

并在Button XML代码

中使用它
android:background="@drawable/btn_estoque"