所以我有一个图像按钮,我想在它上面有两个状态。它将像书签按钮那样工作,它有两种状态。如果用户按下按钮,则它会更改图像,如果它再次按下该按钮,则我需要返回原始图像。什么样的按钮可以在Android中切换/更改状态?
这可能吗?有没有更简单的方法使用另一种类型的按钮? 谢谢
所以我有一个图像按钮,我想在它上面有两个状态。它将像书签按钮那样工作,它有两种状态。如果用户按下按钮,则它会更改图像,如果它再次按下该按钮,则我需要返回原始图像。什么样的按钮可以在Android中切换/更改状态?
这可能吗?有没有更简单的方法使用另一种类型的按钮? 谢谢
尝试将主题更改为:“什么样的按钮可以切换/更改状态?”
好像你需要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>
谢谢。所以在那之后,我只需要附加一个监听器并设置操作。我可以获得按钮的状态?并根据我可以执行的操作。 – 2012-02-28 01:26:02
是的,你可以使用普通的按钮也。首先在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;
我想你可以使用切换按钮,并希望它会解决您的问题。 只要看看它的一个简单的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
此外, 我已经张贴有关切换按钮的简单教程。只要看看我的谦虚博客,如果你觉得它有帮助。这里是链接:http://androiddesk.wordpress.com/2012/03/10/toggle-button-in-android/
友好的建议:为您的问题添加一些更多的细节。特别是,标题有点混乱。 – 2012-02-22 21:31:41
尝试使用您自己的自定义CSS的按钮? – uday 2012-02-22 21:32:55
对不起大家..修改标题 – 2012-02-22 21:50:58