繁体   English   中英

Android:如何以编程方式切换按钮的按下状态?

[英]Android: how to switch button's pressed state programmatically?

我有一个按钮,上面有 2 张不同的图片,用于按下和释放状态。 如何以编程方式切换状态?

这可以通过在我们的 ImageButton 中使用自定义可绘制背景来完成

buttonSelector.xml :

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item  android:drawable="@drawable/button_pressed" android:state_selected="true"/>
<item android:drawable="@drawable/button_pressed" android:state_focused="true" />
<item android:drawable="@drawable/button_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/button_disabled" android:state_enabled="false" />
<item android:drawable="@drawable/button_default" />

将此@drawable/buttonSelector.xml 代码放在 Image Button xml 代码的背景中

<ImageButton
   android:id="@+id/demoBtn"
   android:background="@drawable/buttonSelector"
   android:layout_width="70dp"
   android:layout_height="70dp"
   android:src="@drawable/btndefaultImage"/>

在您的 Mainactivity 中,您可以使用以下行将按钮状态设置为按下或处于默认状态

demoBtn.setSelected(true);//used to maintain button as selected/pressed
demoBtn.setSelected(false);//used to maintain button as unseleced/default

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM