什么样的按钮可以在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>

是的,您也可以使用常规按钮。首先在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/

最新更新