安卓开发中开关按钮ToggleButton和开关Switch(总结)

核心属性讲解:

1)ToggleButton(开关按钮)

可供我们设置的属性:

  • android:disabledAlpha:设置按钮在禁用时的透明度
  • android:textOff:按钮没有被选中时显示的文字
  • android:textOn:按钮被选中时显示的文字另外,除了这个我们还可以自己写个selector,然后设置下Background属性即可~

2) Switch(开关)

可供我们设置的属性:

  • android:showText:设置on/off的时候是否显示文字,boolean
  • android:splitTrack:是否设置一个间隙,让滑块与底部图片分隔,boolean
  • android:switchMinWidth:设置开关的最小宽度
  • android:switchPadding:设置滑块内文字的间隔
  • android:switchTextAppearance:设置开关的文字外观,暂时没发现有什么用...
  • android:textOff:按钮没有被选中时显示的文字
  • android:textOn:按钮被选中时显示的文字
  • android:textStyle:文字风格,粗体,斜体写划线那些
  • android:track:底部的图片
  • android:thumb:滑块的图片
  • android:typeface:设置字体,默认支持这三种:sans, serif, monospace;除此以外还可以使用其他字体文件(*.ttf),首先要将字体文件保存在assets/fonts/目录下,不过需要在Java代码中设置:Typeface typeFace =Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf");textView.setTypeface(typeFace);

使用示例:

我们在开发过程中可能会有些个性化的要求,比如,改变switch的样式。(改成iOS里面的样式)

步骤:

1、我们需要用到两个属性:android:track,android:thumb。同时,因为滑块滑动的状态改变,背景颜色也要变化。所以,这里需要用到<selector>样式。

2、创建android:track(底部背景图片)样式track_selector.xml和android:thumb(滑块图片)样式thumb_selector.xml。代码如下:

thumb_selctor.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/switch_btn_pressed"/>
    <item android:state_pressed="false" android:drawable="@drawable/switch_btn_normal"/>
</selector>

track_selctor.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/switch_btn_bg_green"/>
    <item android:state_checked="false" android:drawable="@drawable/switch_btn_bg_white"/>
</selector>
然后,我们就在MainActivity.java中声明调用即可。相应的监听事件为:OnCheckedChangeListener。实现其接口方法即可。(判断是否选中状态的方法为:isChecked()方法)

猜你喜欢

转载自blog.csdn.net/lpcrazyboy/article/details/80687818