所以我有一个图像按钮,我希望它有两种状态。它将像书签按钮一样工作,有两种状态。如果用户按下按钮然后它改变了图像,如果它重新按下按钮,那么我想要原始图像。
这可能吗?使用其他类型的按钮有更简单的方法吗? 谢谢
答案 0 :(得分:2)
尝试将主题更改为:“哪种按钮可以切换/更改状态?”
好像你需要ToggleBotton
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="26dp"
android:background="@color/button_colors"
android:button="@null"
android:textOff="@null"
android:textOn="@null" />
此xml定义处于休息/按下状态的按钮的颜色/图像,将其放入res/color/button_colors.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/button_rest"/>
<item android:state_checked="true" android:drawable="@drawable/button_on" />
</selector>
答案 1 :(得分:0)
是的,您也可以使用常规按钮。首先在res / drawable目录中创建一个选择器XML文件。例如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_selected="true"
android:drawable="@drawable/selectedimage"/>
<item android:state_enabled="true" android:state_selected="false"
android:drawable="@drawable/notselectedimage"/>
</selector>
在布局xml的按钮定义中,您只需添加以下属性:
android:background="@drawable/myselectorxmlfile"
然后您自己以编程方式设置所选状态(在onClickListener中),按钮图像将更改背景状态。
button.setSelected(true) // or false;
答案 2 :(得分:0)
这些链接可能对您有所帮助.. http://developer.android.com/resources/tutorials/views/hello-formstuff.html 和 http://developer.android.com/reference/android/widget/ToggleButton.html
答案 3 :(得分:0)
我猜你可以使用Toggle Button并希望它能解决你的问题。 只需看看它的简单xml代码:
<ToggleButton
android:id="@+id/tglbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="ON"
android:textOff="OFF"
/>
只需查看此链接中给出的答案: Android: Specify two different images for togglebutton using XML
另外, 我发布了一个关于Toggle Button的简单教程。如果您觉得有用,请查看我的简陋博客。这是链接:http://androiddesk.wordpress.com/2012/03/10/toggle-button-in-android/