我有一个按钮选择器,可在按下按钮时更改按钮图像。我还为按钮被禁用时设置了图像。我尝试以编程方式禁用按钮,但禁用的按钮图像没有出现。我的button_selector是否正确?
<item android:drawable="@drawable/red_btn_bg_disabled" android:state_enabled="false"/> <!-- disabled -->
<item android:drawable="@drawable/red_btn_bg_pressed" android:state_pressed="true"/> <!-- pressed -->
<item android:drawable="@drawable/red_btn_bg_pressed" android:state_focused="true"/> <!-- focused -->
<item android:drawable="@drawable/red_btn_bg"/> <!-- default -->
我在代码中使用mButton.setEnabled(false)来禁用按钮
答案 0 :(得分:32)
尝试这个,我上传了一个示例项目,以获得更多帮助,检查项目
selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_disable" android:state_enabled="false"/>
<item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/btn_normal"/>
</selector>
并在按钮中使用此选择器,如下所示
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="30dp"
android:background="@drawable/selector"
android:enabled="false"
android:text="Disable Button" />
示例代码链接 https://www.dropbox.com/s/lydkog10rkujbsa/ButtonSelector.rar
答案 1 :(得分:3)
试试这个。
<item android:drawable="@drawable/red_btn_bg_pressed" android:state_pressed="true"/> <!-- pressed -->
<item android:drawable="@drawable/red_btn_bg_disabled" android:state_enabled="false"/> <!-- disabled -->
<item android:drawable="@drawable/red_btn_bg"/> <!-- default -->