所以我有一个图像按钮,我想在它上面有两个状态。它的工作方式就像一个有两种状态的书签按钮。如果用户按下按钮,它会更改图像;如果用户再次按下按钮,我希望返回原始图像。
这可能吗?有没有更简单的方法使用另一种类型的按钮?感谢
尝试将主题更改为:"什么样的按钮可以切换/更改状态?"
看起来你需要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>
是的,您也可以使用常规按钮。首先在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;
这些链接可能会对您有所帮助。。http://developer.android.com/resources/tutorials/views/hello-formstuff.html和http://developer.android.com/reference/android/widget/ToggleButton.html
我想你可以使用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:使用XML 为togglebutton指定两个不同的图像
此外,我发布了一个关于切换按钮的简单教程。如果你觉得我的博客有用的话,就看看它吧。以下是链接:http://androiddesk.wordpress.com/2012/03/10/toggle-button-in-android/