android switch的使用方法,Android UI控件Switch的使用方法
在Android中偶尔会用到开关,Switch就是一个简单易使用的不错的控件。
首先,在布局中添加上Switch控件:
android:id="@+id/s_v"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:switchMinWidth="20dp"
android:textOn="on"
android:textOff="off"
android:thumb="@drawable/thumb"
android:track="@drawable/track" />
以下是该控件的常用属性:
textOn:控件打开时显示的文字
textOff:控件关闭时显示的文字
thumb:控件开关的图片
track:控件开关的轨迹图片
typeface:设置字体类型
switchMinWidth:开关最小宽度
switchPadding:设置开关 与文字的空白距离
switchTextAppearance:设置文本的风格
checked:设置初始选中状态
splitTrack:是否设置一个间隙,让滑块与底部图片分隔(API 21及以上)
showText:设置是否显示开关上的文字(API 21及以上)
我们一般不会用该控件原本的样式,那么我们就需要自己修改样式了:
gray_thumb.xml:
android:shape="rectangle" >
android:endColor="#ffffff"
android:startColor="#ffffff" />
android:color="#9e9e9e"/>
green_thumb.xml:
android:shape="rectangle" >
android:endColor="#ffffff"
android:startColor="#ffffff" />
android:color="#33da33"/>
gray_track.xml:
android:shape="rectangle" >
android:endColor="#9e9e9e"
android:startColor="#9e9e9e" />
green_track.xml:
android:endColor="#33da33"
android:startColor="#33da33" />
thumb.xml:
track.xml:
在styles.xml中添加如下style:
#33da33
#9b9b9b
最后,只需要将控件实例化出来进行相应操作就可以了:
MainActivity.class:
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Switch aSwitch = (Switch) findViewById(R.id.s_v);
aSwitch.setChecked(false);
aSwitch.setSwitchTextAppearance(MainActivity.this,R.style.x1);
aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
//控制开关字体颜色
if (b) {
aSwitch.setSwitchTextAppearance(MainActivity.this,R.style.s_true);
}else {
aSwitch.setSwitchTextAppearance(MainActivity.this,R.style.x1);
}
}
});
}
}
最终效果如下图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
android switch的使用方法,Android UI控件Switch的使用方法相关推荐
- QT-子线程或自定义类操作访问主界面UI控件的几种方法
前言 QT创建窗体工程,一般在MainWindow或Dialog类里可以直接通过ui指针访问控件,但是添加新的类后又如何访问呢,可以通过以下几种方式: 1.将ui指针公开后直接访问 (1)例如有个自己 ...
- android 画布裁剪,一种基于Android系统对UI控件进行轮廓剪裁及美化的方法与流程...
本发明涉及Android应用的技术领域,特别涉及一种基于Android系统对UI控件进行轮廓剪裁及美化的方法. 背景技术: 目前,随着智能电视的普及,Android应用层出不穷,而那些表现形式单一.传 ...
- C# Winform 跨线程更新UI控件常用方法汇总(多线程访问UI控件)
概述 C#Winform编程中,跨线程直接更新UI控件的做法是不正确的,会时常出现"线程间操作无效: 从不是创建控件的线程访问它"的异常.处理跨线程更新Winform UI控件常用 ...
- android 根据bounds坐标进行点击操作_炫酷的Android时钟UI控件,隔壁产品都馋哭了...
废话不多说,先上效果效果酷炫,动画丰富,效果爆炸boom-设计思路看腻了市面上各种丑陋难看的时钟控件,是时候整点新活!将现实生活中的摆钟圆形表盘设计.电子手表的数显表盘设计抽象出来,提取出" ...
- Android开发详解:第4章《UI 控件》
Android开发详解:第4章<UI 控件> 控件是Android程序设计的基本组成单位,通过使用控件可以高效地开发Android应用程序.所以熟练掌握控件的使用是合理.有效地进行Andr ...
- Android -ui控件
一:TextView控件 TextView --> View 1.创建TextView的两种方式: 1.1编写TextView类TextView tv = new TextView(this); ...
- android通过代码设置铃声_第六十四回:Android中UI控件之SeekBar
各位看官们,大家好,上一回中咱们说的是Android中UI控件之ProgressBar的例子,这一回咱们的例子是UI控件之SeekBar.闲话休提,言归正转.让我们一起Talk Android吧! 看 ...
- android 5.0新增 ui 控件,android3.0新增ui控件示例说明.doc
android3.0新增ui控件示例说明 Android3.0新增UI控件 AdapterViewAnimator控件 AdapterViewAnimator(堆View),已知子类有AdapterV ...
- android md 控件,Android基本UI控件.md
# Android基本UI控件 ## *TextView 文本框* ### TextView常用用法 | 主要方法 | 功能描述 | | :----------: | :--------------- ...
- android listview 滑动条显示_第七十六回:Android中UI控件之RecyclerView基础
各位看官们,大家好,上一回中咱们说的是Android中UI控件之ListView优化的例子,这一回咱们说的例子是UI控件之RecyclerView.闲话休提,言归正转.让我们一起Talk Androi ...
最新文章
- 如何在简历中添加自己的CSDN博客链接
- 项目进度计划表_十大项目管理工具模版~
- 【学习笔记】mybatis自定义插件案例代码
- bzoj1491: [NOI2007]社交网络
- 巡逻机器人用应用的pc端车牌识别
- php通过正则表达式下载图片到本地的实现代码,PHP通过正则表达式下载图片到本地的实现代码...
- 浏览器和服务器交互原理?(请求--响应的过程)
- JSP页面是否需要重新编译--checkInterval
- iOS之正则表达式的使用
- zabbix系列(二):zabbix agent(Host配置)
- Java IO流复制文件拒绝访问的原因及解决方法
- 【二级等保】二级等保怎么做?价格怎么样?贵吗?
- python实现视频转文字
- 杭州逆行崩溃小伙首度回应
- 芭蕉树上第十六根芭蕉-- Qt中Ui名字空间以及setupUi函数的原理和实现
- Speech Separation
- BLAM源码解析(五)—— 回环检测
- 2012服务器系统iis500错误,Windows Server IIS站点常见500错误及解决方案
- 前端算法js:跳格子游戏
- Spring框架技术总结(一),java编程自学教程
热门文章
- iOS面试 swift篇
- win10系统pyCharm安装及最新2018激活码
- 心理学入门必读好物,《亲密关系》精华版
- python毕业论文开题报告范文_毕业论文的开题报告怎么写?
- gitee推送更新失败问题记录:remote: error: hook declined to update refs/heads/master
- Oracle执行计划变更
- C++死锁与哲学家就餐问题
- xsmax进入dfu模式_DFU模式是什么?苹果XR/XS Max的DFU模式进入与退出方法[多图]
- 罗马数字转换python_Python实现将罗马数字转换成普通阿拉伯数字的方法
- oracle wmsys.wm_concat ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB