Android 中哪种按钮可以切换/更改状态?

发布于 2025-01-08 08:58:41 字数 126 浏览 0 评论 0原文

所以我有一个图像按钮,我想在它上面有两种状态。它的工作方式类似于具有两种状态的书签按钮。如果用户按下按钮,那么它会更改图像,如果它重新按下按钮,那么我想要回原始图像。

这可能吗?有没有更简单的方法使用其他类型的按钮? 谢谢

So I have an image button and I want to have two states on it. It will work like a bookmark button which has two states. If the user presses the button then it changes the image and if it re-presses the button then I want the original image back.

Is that possible? Is there an easier way using another type of button?
Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

め七分饶幸 2025-01-15 08:58:41

尝试将主题更改为:“哪种按钮可以切换/更改状态?”

似乎您需要 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>

Try changing the topic to :"What kind of Button can toggle/change states?"

Seems like you need 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" />

And this xml defines the colors/images of the button at rest/pressed states, put it in 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>
刘备忘录 2025-01-15 08:58:41

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

Yes, you can use regular buttons also. First make a selector XML file in the res/drawable directory. Example:

<?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>

In the button definition in the layout xml, you just add this attribute:

android:background="@drawable/myselectorxmlfile"

And then you programmatically set the selected states yourself (in a onClickListener) and the button images will change background state.

button.setSelected(true) // or false;
—━☆沉默づ 2025-01-15 08:58:41

我想您可以使用切换按钮并希望它能解决您的问题。
只需看一下它的简单 xml 代码:

<ToggleButton
              android:id="@+id/tglbtn"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textOn="ON"
              android:textOff="OFF"
              />

并且只需检查此链接中给出的答案:
Android:使用 XML 为切换按钮指定两个不同的图像

还,
我发布了有关切换按钮的简单教程。如果您觉得有帮助,请看看我的简陋博客。这是链接: http://androiddesk.wordpress.com /2012/03/10/toggle-button-in-android/

I guess you can use Toggle Button and hope it'll solve your issue.
Just have a look at a simple xml code of it:

<ToggleButton
              android:id="@+id/tglbtn"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textOn="ON"
              android:textOff="OFF"
              />

And Just check the answer given here in this link:
Android: Specify two different images for togglebutton using XML

Also,
I've posted a simple tutorial about Toggle Button. Just have a look at my humble blog if you find it helpful. Here is link: http://androiddesk.wordpress.com/2012/03/10/toggle-button-in-android/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文