togglebutton,如何切换状态?

吉云

ToggleButton,切换状态的神奇按钮

各位看官,今天小编要和大家聊聊一个神奇的按钮:ToggleButton。这个按钮可不是普通的按钮哦,它可以切换状态,听得懂不?话不多说,咱们这就开扒!

togglebutton,如何切换状态?

ToggleButton是什么妖孽?

ToggleButton,顾名思义,就是个能切换状态的按钮。它长得很像普通按钮,但它的特别之处在于:它有两个状态,选中状态和未选中状态。当我们点击它时,它就会在选中和未选中状态之间切换,就像个反复无常的小妖精。

比如,我们可以用ToggleButton来控制手机上的飞行模式,切换到选中状态就是飞行模式开启,切换到未选中状态就是飞行模式关闭。简单明了,老少咸宜!

如何让ToggleButton切换状态?

切换ToggleButton状态很简单,只需要点击它就可以了。但如果我们要在代码中控制它的状态,那就需要用到这两个属性:

属性 说明
android:checked 设置ToggleButton的选中状态,true为选中,false为未选中
android:textOff 设置ToggleButton未选中时的显示文本
android:textOn 设置ToggleButton选中时的显示文本

代码示例:

xml

android:id="@+id/toggle_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textOff="关闭"

android:textOn="开启"

android:checked="true" />

切换文本和切换图片

除了切换文本,ToggleButton还能切换图片,这可就花样百出了!图片切换的属性如下:

属性 说明
android:background 设置ToggleButton的背景图片
android:drawableOff 设置ToggleButton未选中时的图片
android:drawableOn 设置ToggleButton选中时的图片

代码示例:

xml

android:id="@+id/toggle_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/toggle_button_bg"

android:drawableOff="@drawable/toggle_button_off"

android:drawableOn="@drawable/toggle_button_on" />

ToggleButton有多少种造型?

ToggleButton的造型可塑性很强,我们可以根据自己的需求定制它的外观。常见的有:

类型 效果图 说明
Default(默认) [图片] 最基本的ToggleButton,没有任何花哨的造型
Rounded(圆角) [图片] 按钮的边角呈圆弧形
Full(全) [图片] 按钮的背景覆盖整个区域,没有边框
Outline(描边) [图片] 按钮只有边框,没有填充
Gradient(渐变) [图片] 按钮的背景呈现渐变效果

这些造型可以通过设置android:button属性来实现,具体如下:

属性值 造型
default 默认
rounded 圆角
full
outline 描边
gradient 渐变

代码示例:

xml

android:id="@+id/toggle_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:button="@drawable/toggle_button_selector" />

ToggleButton的隐藏技能:切换组

ToggleButton还有一个隐藏技能,那就是它可以组成一个切换组。这样做的好处是可以同时控制多个ToggleButton,让它们互斥,也就是只能有一个ToggleButton处于选中状态。这在某些场景下非常实用,比如选择付款方式。

ToggleButton切换组的实现很简单,只需要给它们设置同一个android:group属性即可。

代码示例:

xml

android:layout_width="wrap_content"

android:layout_height="wrap_content">

android:id="@+id/toggle_button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textOff="支付宝"

android:textOn="支付宝"

android:group="payment_group" />

android:id="@+id/toggle_button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textOff="微信"

android:textOn="微信"

android:group="payment_group" />

android:id="@+id/toggle_button3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textOff="银联"

android:textOn="银联"

android:group="payment_group" />

这样一来,当我们点击这组ToggleButton中的任何一个时,其他ToggleButton都会自动取消选中状态。非常方便!

看完这篇文章,大家对ToggleButton应该有了一个比较全面的了解了吧?赶紧动手实践一下,让你的APP也拥有这个改变状态的的神奇按钮吧!

如果有任何问题或心得体会,欢迎在评论区分享。让咱们一起探索移动开发的更多奥秘!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]