Android原生开关组件

Android原生Switch

众所周知,Android原生提供了两种开关组件,toggleButton和Switch,这两个因为仿苹果的原因我很少使用。真正用到项目里大概也就两次,体验并不好,最近被UI说就用你们Android原生的就可以了,给我贴了个图,我心说这哪好看去,结果意外查到了一篇帖子,说如何定制成仿照苹果的样子。
使用了一下效果不错,但问题来了,我一直不愿意使用这两个,主要原因还是宽高不好控制和掌握,在定制的的时候多方测试,结果意外地解决了这个问题
记录如下

Switch的参数:
android:showText:设置on/off的时候是否显示文字,boolean (>API21)
android:splitTrack:是否设置一个间隙,让滑块与底部图片分隔,boolean (>API21)
android:switchMinWidth:设置开关的最小宽度
android:switchPadding:设置开关与文字的空白距离
android:switchTextAppearance:设置文字的风格,暂时没发现有什么用…
typeface:设置字体类型
android:track:控件开关的轨迹图片,android:state_checked,注意shape的宽度设置不管用,高度在30dp比较好,角度20就足够了
android:thumb:控件开关的图片,设置一个drawable包含两个shape,android:state_checked
android:textOff:按钮没有被选中时显示的文字
android:textOn:按钮被选中时显示的文字
checked:设置初始选中状态

其中调节背景所需要的是:背景track和按钮thumb,组件宽度主要由android:thumb决定,shape的大小决定了组件的高度,宽度决定了组件的宽度,shape宽度*2 = switch的实际宽度

Togglebutton则需要设置
android:button="@drawable/switch_thumb" // 按钮
android:background="@drawable/switch_track" //背景
并且需要注意,使用同一对thumb和track时,toggleButton显示效果比Switch要大,button的Shape宽度对toggleButton的宽度生效,但是高度默认大概是52dp,高度只能通过组件属性layout_height控制
在需要单独调节宽高时使用toggleButton,在button大小统一时使用switch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值