Android中的Switch控件
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控件相关推荐
- Android中的基础控件TextView、Button、ImageView、EditText、ProgressBar
文章目录 1 Android中的基础控件 1.1 控件的通用属性 2 TextView 2.1 TextView的继承关系 2.2 TextView的常用属性 3 EditText 3.1 常用属性 ...
- Android中进度条控件使用
android中进度条控件使用 ProgressBar pb = findViewById(R.id.pb);pb.setMax(100);pb.setProgress(33); 转载于:https: ...
- 从零开始学android:Android中的基本控件(上)
从零开始学android:Android中的基本控件(上) 本章内容较多,下面只贴代码,大家只需要贴到自己eclipse里就知道作用^^! View组件简介 Android中的View组件包含了几乎所 ...
- Android 4.0 Switch 控件用源代码实现
最近项目需要,在4.0 以前的版本上实现一个android 4.0 上的Switch控件,上网找了些例子,都不尽如人意.自己动手,丰衣足食.于是便翻看源码,找到4.0源码中Switch实现的方法.照样 ...
- laravel-admin form中的switch控件 不改变状态提交后值为0
我的个人博客:逐步前行STEP 我把一个字段设默认值为0 需要审核操作 通过设为1 不通过设为2 $states = ['on' => ['value' => 1, 'text' => ...
- Android中的基础控件CheckBox、RadioButton、ToggleButton、SeekBar
文章目录 1 CheckBox 1.1 CheckBox介绍 2 RadioButton 2.1 RadioButton介绍 3 ToggleButton 3.1 ToggleButton介绍 4 S ...
- Android中的常用控件之进度条(ProgressBar)
ProgressBar的常用属性 style(进度条的样式,默认为圆形:用style="?android:attr/progressBarStyleHorizontal"可以将进度 ...
- android 中使用TabHost控件实现微信界面的底部菜单效果
首先,在布局文件中的代码如下:(菜单位于底部,需要在代码中设置) <TabHostandroid:id="@android:id/tabhost"android:layout ...
- android中互斥的控件,Android控件之Radiobutton与RadioGroup
RadioButton 是一个单选控件,在一个RadioGroup中,各个RadioButton是互斥的 XML文件: xmlns:tools="http://schemas.android ...
- android 中的组合控件的设计
在开发应用程序的时候,很多时候会使用到几个重复的控件,例如Android手机的设置界面里面的位置服务里面的每一栏都是组合控件,也就是说多个控件组成一个整体,如下图所示: 红色方框里面的是由两个Text ...
最新文章
- 《数学之美》第22章 自然语言处理的教父马库斯和他的优秀弟子们
- SyntaxError: invalid syntax的问题原因和解决办法
- 1.6 课程资源-深度学习-Stanford吴恩达教授
- 附5、MDT 2013 Update 1批量部署-更新版无法修改共享文件夹参数的解决办法
- [react] 在React项目中你用过哪些动画的包?
- 爬虫10-股票信息定向爬取
- JQuery获取第几个元素和判断元素在第几个
- halcon例程讲解_halcon例程学习笔记(6)
- 修改Android序列号(Serial Number)
- 新手CrossApp 之demo SecondViewController小结
- (P57-P61)正则表达式
- 坎坎坷坷的深度学习之路(三)-Hello world(2)-------MNIST数据集1-MNIST格式
- 与Java相关的四十个名字,
- vue日程安排_vue 时间安排表
- 人大金仓数据库(KingbaseES)帮助文档
- Real World Games Look Like Spinning Tops (DeepMind NIPS2020) 论文阅读记录
- win10taskkill强行结束进程_win10强制关闭应用程序的方法
- Comsol中Absolute Pressure的解释
- 我的10年计算机之路
- c++配置并使用bit7z加密压缩或解压7z文件
热门文章
- 达梦(DM)数据库常见问题详解
- 【DenseFusion代码详解】linemod数据集预处理过程
- windows10睡眠问题完美解决,设置睡眠时间不管用怎么办?
- linux和Windows 左(正)斜杠右(反)斜杠用法对比
- CAD-Cass小结(6)——dat数据格式与展点(显示属性,更改点符号)
- swift 图片翻转
- python np arange_python – 为什么np.arccos(1.0)在np.arange的情况下给出nan?
- php无刷新分页插件,帝国cms增加Ajax加载更多功能,无刷新Ajax表分页插件使用说明_励翔科技帝国cms开发中心...
- 阅读野火stm32代码思考
- 利用selenium获取接口数据