Android自定义图像按钮不会保持选中状态

时间:2011-04-03 20:42:25

标签: android

我目前正在使用一个ImageButton,我希望一旦你选择了它就会像单选按钮一样保持选中效果,直到有人选择另一个图像按钮。我已经设置了如下所示的自定义选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true"
           android:drawable="@drawable/buttonimagesel" /> <!-- pressed -->
     <item android:state_focused="true"
           android:drawable="@drawable/buttonimagesel" /> <!-- focused -->
     <item android:drawable="@drawable/buttonimage" /> <!-- default -->
</selector>

但只要按下按键,这只会显示所选图像。我想要的效果是它像一个单选按钮一样保持选择,直到处理请求,之后重新绘制包括按钮在内的整个活动。因此,我希望只需单击一下即可将按钮置于选定状态,而取消选中则不会更改此按钮。此外,我不希望在发生这种情况后可以选择其他按钮,我当然不希望它们更改图像或类似的东西。

由于

1 个答案:

答案 0 :(得分:5)

如果您需要使用ImageButton,则可以在android:state_selected="true"逻辑中添加setSelected()项并使用onClick()。在选择新按钮时,您必须注意取消选择所有其他按钮。这个问题可能有用:Android ImageButton with a selected state?

但是,您也可以使用RadioButton并自定义其外观(使用android:backgroundandroid:button - 这些和所有CompoundButton都有已检查以切换方式工作的状态。)