1、Switch中时Android中自带的开关控件:

效果如下:

2、完整代码如下所示:

 <Switchandroid:id="@+id/main_switch"android:layout_width="@dimen/x103"android:layout_height="@dimen/x3"android:track="@drawable/setting_button_track"android:textOn="@string/version_on"android:textOff="@string/version_off"android:thumb="@drawable/setting_button_thumb"android:layout_marginLeft="@dimen/x429"android:showText="true"android:switchTextAppearance="@style/SwitchTextAppearance"android:layout_gravity="center"tools:ignore="UseSwitchCompatOrMaterialXml" />

3、Switch的样式,文字编写都为自定义的,代码如下所示:

①setting_button_track

<?xml version="1.0" encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true"android:drawable="@drawable/setting_on_track" /><item android:drawable="@drawable/setting_off_track" />
</selector>

(1)setting_on_track

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><solid android:color="@color/color_on"/><corners android:radius="@dimen/x32"/><size  android:width="@dimen/x48"android:height="@dimen/x24"/></shape>

(2)setting_off_track

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><solid android:color="@color/color_off"/><corners android:radius="@dimen/x32"/><size  android:width="@dimen/x48"android:height="@dimen/x24"/></shape>

②setting_button_thumb

<?xml version="1.0" encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true"android:drawable="@drawable/setting_off" /><item android:drawable="@drawable/setting_on" />
</selector>

(1)setting_off

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval">
<!--    <stroke android:width="1dp" android:color="@color/color_off"/>--><solid android:color="@color/color_off"/><size  android:width="@dimen/x32"android:height="@dimen/x32"/></shape>

(2)setting_on

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!--<stroke android:width="1dp" android:color="@color/color_off"/>-->
<solid android:color="@color/color_on"/>
<size  android:width="@dimen/x32"android:height="@dimen/x32"/>
</shape>

4、switch中的属性

textOn:控件打开时显示的文字
textOff:控件关闭时显示的文字
thumb:控件开关的图片
track:控件开关的轨迹图片
typeface:设置字体类型
switchMinWidth:开关最小宽度
switchPadding:设置开关 与文字的空白距离
switchTextAppearance:设置文本的风格
checked:设置初始选中状态
splitTrack:是否设置一个间隙,让滑块与底部图片分隔
showText:设置是否显示开关上的文字(android系统中默认不显示)

5、文字样式

放置在value中

<style name="SwitchTextAppearance" parent="@android:style/TextAppearance.Holo.Small"><item name="android:textColor">#ffffff</item><item name="android:textSize">@dimen/x12</item></style>

对于出现switch的格式出现问题,开关状态出现遮盖等信息都是因为尺寸设置不正确。

6、注意事项

1、对于自定义的switch的样式来说,想要显示文字,必须加上showtext,否则无法显示

2、对于文字的样式,使用属性来加载switchTextAppearance=“@style/SwitchTextAppearance”

3、想要自定义switch的样式,要特别注意thumb和trick两个属性

4、在日常学习过程,保持良好代码命名规范

Android中的Switch控件相关推荐

  1. Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar

    文章目录 1 Android中的基础控件 1.1 控件的通用属性 2 TextView 2.1 TextView的继承关系 2.2 TextView的常用属性 3 EditText 3.1 常用属性 ...

  2. Android中进度条控件使用

    android中进度条控件使用 ProgressBar pb = findViewById(R.id.pb);pb.setMax(100);pb.setProgress(33); 转载于:https: ...

  3. 从零开始学android:Android中的基本控件(上)

    从零开始学android:Android中的基本控件(上) 本章内容较多,下面只贴代码,大家只需要贴到自己eclipse里就知道作用^^! View组件简介 Android中的View组件包含了几乎所 ...

  4. Android 4.0 Switch 控件用源代码实现

    最近项目需要,在4.0 以前的版本上实现一个android 4.0 上的Switch控件,上网找了些例子,都不尽如人意.自己动手,丰衣足食.于是便翻看源码,找到4.0源码中Switch实现的方法.照样 ...

  5. laravel-admin form中的switch控件 不改变状态提交后值为0

    我的个人博客:逐步前行STEP 我把一个字段设默认值为0 需要审核操作 通过设为1 不通过设为2 $states = ['on' => ['value' => 1, 'text' => ...

  6. Android中的基础控件CheckBox、RadioButton、ToggleButton、SeekBar

    文章目录 1 CheckBox 1.1 CheckBox介绍 2 RadioButton 2.1 RadioButton介绍 3 ToggleButton 3.1 ToggleButton介绍 4 S ...

  7. Android中的常用控件之进度条(ProgressBar)

    ProgressBar的常用属性 style(进度条的样式,默认为圆形:用style="?android:attr/progressBarStyleHorizontal"可以将进度 ...

  8. android 中使用TabHost控件实现微信界面的底部菜单效果

    首先,在布局文件中的代码如下:(菜单位于底部,需要在代码中设置) <TabHostandroid:id="@android:id/tabhost"android:layout ...

  9. android中互斥的控件,Android控件之Radiobutton与RadioGroup

    RadioButton 是一个单选控件,在一个RadioGroup中,各个RadioButton是互斥的 XML文件: xmlns:tools="http://schemas.android ...

  10. android 中的组合控件的设计

    在开发应用程序的时候,很多时候会使用到几个重复的控件,例如Android手机的设置界面里面的位置服务里面的每一栏都是组合控件,也就是说多个控件组成一个整体,如下图所示: 红色方框里面的是由两个Text ...

最新文章

  1. 《数学之美》第22章 自然语言处理的教父马库斯和他的优秀弟子们
  2. SyntaxError: invalid syntax的问题原因和解决办法
  3. 1.6 课程资源-深度学习-Stanford吴恩达教授
  4. 附5、MDT 2013 Update 1批量部署-更新版无法修改共享文件夹参数的解决办法
  5. [react] 在React项目中你用过哪些动画的包?
  6. 爬虫10-股票信息定向爬取
  7. JQuery获取第几个元素和判断元素在第几个
  8. halcon例程讲解_halcon例程学习笔记(6)
  9. 修改Android序列号(Serial Number)
  10. 新手CrossApp 之demo SecondViewController小结
  11. (P57-P61)正则表达式
  12. 坎坎坷坷的深度学习之路(三)-Hello world(2)-------MNIST数据集1-MNIST格式
  13. 与Java相关的四十个名字,
  14. vue日程安排_vue 时间安排表
  15. 人大金仓数据库(KingbaseES)帮助文档
  16. Real World Games Look Like Spinning Tops (DeepMind NIPS2020) 论文阅读记录
  17. win10taskkill强行结束进程_win10强制关闭应用程序的方法
  18. Comsol中Absolute Pressure的解释
  19. 我的10年计算机之路
  20. c++配置并使用bit7z加密压缩或解压7z文件

热门文章

  1. 达梦(DM)数据库常见问题详解
  2. 【DenseFusion代码详解】linemod数据集预处理过程
  3. windows10睡眠问题完美解决,设置睡眠时间不管用怎么办?
  4. linux和Windows 左(正)斜杠右(反)斜杠用法对比
  5. CAD-Cass小结(6)——dat数据格式与展点(显示属性,更改点符号)
  6. swift 图片翻转
  7. python np arange_python – 为什么np.arccos(1.0)在np.arange的情况下给出nan?
  8. php无刷新分页插件,帝国cms增加Ajax加载更多功能,无刷新Ajax表分页插件使用说明_励翔科技帝国cms开发中心...
  9. 阅读野火stm32代码思考
  10. 利用selenium获取接口数据