SwitchButton 开关按钮 的多种实现方式 (附源码DEMO)

本文介绍Android中实现开关按钮的多种方式,包括使用ToggleButton、自定义CompoundButton、CheckBox以及直接重写View。详细讲解每个实现的步骤,如设置属性、监听事件和自定义绘图。同时,提到了自定义控件的配置属性declare-styleable,并提供了一个DEMO源码下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚开始接触开关样式的按钮是在IOS系统上面,它的切换以及滑动十分帅气,深入人心。

所谓的开关按钮,就是只有2个状态:on和off,下图就是系统IOS 7上开关按钮效果。

起初我在android上我只会使用CheckBox去满足对应的功能。后来,查看开发文档发现,android也有了自己的原生态开关控件,并且在4.0版本中又优化加入了新的类似控件--Switch控件,以及使用起来十分简单的ToggleButton,可是它们只是带有切换效果,而不带有滑动切换效果,并且Switch控件只支持高版本的系统,对于2.3就不支持。所以,要想看如何实现滑动切换的效果,必须了解这些控件的实现方式。下面,让我们查看下android开发文档,看看这些是如何实现使用的


注意:本文中涉及到自定义控件 并自定义配置属性declare-styleable,

如果你对于自定义控件的自定义配置属性还不是很了解可以看:android 自定义控件 使用declare-styleable进行配置属性(源码角度)


查看查看开发文档:

CompoundButton

extends Button
implements Checkable


java.lang.Object

android.view.View

android.widget.TextView

android.widget.Button

android.widget.CompoundButton

Known Direct Subclasses

CheckBox,RadioButton,Switch,ToggleButton

以上4类都是开关类型切换的控件,它们的父类都是CompoundButton。


它对应的方法和类有:


点击选择监听接口。

Nested Classes

interface

CompoundButton.OnCheckedChangeListener

Interface definition for a callback to be invoked when the checked state of a compound button changed.


返回左右填充的VIEW,加上间隔

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值