在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的使用方法相关推荐

  1. QT-子线程或自定义类操作访问主界面UI控件的几种方法

    前言 QT创建窗体工程,一般在MainWindow或Dialog类里可以直接通过ui指针访问控件,但是添加新的类后又如何访问呢,可以通过以下几种方式: 1.将ui指针公开后直接访问 (1)例如有个自己 ...

  2. android 画布裁剪,一种基于Android系统对UI控件进行轮廓剪裁及美化的方法与流程...

    本发明涉及Android应用的技术领域,特别涉及一种基于Android系统对UI控件进行轮廓剪裁及美化的方法. 背景技术: 目前,随着智能电视的普及,Android应用层出不穷,而那些表现形式单一.传 ...

  3. C# Winform 跨线程更新UI控件常用方法汇总(多线程访问UI控件)

    概述 C#Winform编程中,跨线程直接更新UI控件的做法是不正确的,会时常出现"线程间操作无效: 从不是创建控件的线程访问它"的异常.处理跨线程更新Winform UI控件常用 ...

  4. android 根据bounds坐标进行点击操作_炫酷的Android时钟UI控件,隔壁产品都馋哭了...

    废话不多说,先上效果效果酷炫,动画丰富,效果爆炸boom-设计思路看腻了市面上各种丑陋难看的时钟控件,是时候整点新活!将现实生活中的摆钟圆形表盘设计.电子手表的数显表盘设计抽象出来,提取出" ...

  5. Android开发详解:第4章《UI 控件》

    Android开发详解:第4章<UI 控件> 控件是Android程序设计的基本组成单位,通过使用控件可以高效地开发Android应用程序.所以熟练掌握控件的使用是合理.有效地进行Andr ...

  6. Android -ui控件

    一:TextView控件 TextView --> View 1.创建TextView的两种方式: 1.1编写TextView类TextView tv = new TextView(this); ...

  7. android通过代码设置铃声_第六十四回:Android中UI控件之SeekBar

    各位看官们,大家好,上一回中咱们说的是Android中UI控件之ProgressBar的例子,这一回咱们的例子是UI控件之SeekBar.闲话休提,言归正转.让我们一起Talk Android吧! 看 ...

  8. android 5.0新增 ui 控件,android3.0新增ui控件示例说明.doc

    android3.0新增ui控件示例说明 Android3.0新增UI控件 AdapterViewAnimator控件 AdapterViewAnimator(堆View),已知子类有AdapterV ...

  9. android md 控件,Android基本UI控件.md

    # Android基本UI控件 ## *TextView 文本框* ### TextView常用用法 | 主要方法 | 功能描述 | | :----------: | :--------------- ...

  10. android listview 滑动条显示_第七十六回:Android中UI控件之RecyclerView基础

    各位看官们,大家好,上一回中咱们说的是Android中UI控件之ListView优化的例子,这一回咱们说的例子是UI控件之RecyclerView.闲话休提,言归正转.让我们一起Talk Androi ...

最新文章

  1. 如何在简历中添加自己的CSDN博客链接
  2. 项目进度计划表_十大项目管理工具模版~
  3. 【学习笔记】mybatis自定义插件案例代码
  4. bzoj1491: [NOI2007]社交网络
  5. 巡逻机器人用应用的pc端车牌识别
  6. php通过正则表达式下载图片到本地的实现代码,PHP通过正则表达式下载图片到本地的实现代码...
  7. 浏览器和服务器交互原理?(请求--响应的过程)
  8. JSP页面是否需要重新编译--checkInterval
  9. iOS之正则表达式的使用
  10. zabbix系列(二):zabbix agent(Host配置)
  11. Java IO流复制文件拒绝访问的原因及解决方法
  12. 【二级等保】二级等保怎么做?价格怎么样?贵吗?
  13. python实现视频转文字
  14. 杭州逆行崩溃小伙首度回应
  15. 芭蕉树上第十六根芭蕉-- Qt中Ui名字空间以及setupUi函数的原理和实现
  16. Speech Separation
  17. BLAM源码解析(五)—— 回环检测
  18. 2012服务器系统iis500错误,Windows Server IIS站点常见500错误及解决方案
  19. 前端算法js:跳格子游戏
  20. Spring框架技术总结(一),java编程自学教程

热门文章

  1. iOS面试 swift篇
  2. win10系统pyCharm安装及最新2018激活码
  3. 心理学入门必读好物,《亲密关系》精华版
  4. python毕业论文开题报告范文_毕业论文的开题报告怎么写?
  5. gitee推送更新失败问题记录:remote: error: hook declined to update refs/heads/master
  6. Oracle执行计划变更
  7. C++死锁与哲学家就餐问题
  8. xsmax进入dfu模式_DFU模式是什么?苹果XR/XS Max的DFU模式进入与退出方法[多图]
  9. 罗马数字转换python_Python实现将罗马数字转换成普通阿拉伯数字的方法
  10. oracle wmsys.wm_concat ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB