switch控件的使用
2017-02-13 10:25
309 查看
Android----UI控件switch选择开关使用首先switch控件是原生的控件,可以直接使用。最低要求是安卓4.0以后才能使用。原生用法也很简单,直接在xml添加switch控件就行了.属性介绍:android:textOff setTextOff(CharSequence) 文本使用开关时未检查/“关闭”状态。android:textOnsetTextOn(CharSequence) 文本时使用的开关检查/“打开”状态。setSwitchTypeface(Typefacetf, int style) 使用指定的字体类型库内的指定类型来设置状态标签上的文字; setSwitchTypeface(Typefacetf) 使用指定字体类型库内的固有类型来设置状态标签上的文字;setChecked(booleanchecked) 改变了这个按钮的开关状态android:switchMinWidthsetSwitchMinWidth(int) :开关组件的最小宽度必须是一个dimension值,这是一个浮点数等单位的附加“14.5 sp”。![](https://img-blog.csdn.net/20170213100043371?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSFVhbmRyb2lk/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
android:thumb 指定switch控件滑动按钮的资源
android:track 指定switch控件滑动的滑槽的资源
先看下系统(6.0)的switch效果
现在自己定义一个switch控件:主要用到thumb属性和track属性就行了
<RelativeLayoutandroid:layout_width="match_parent"android:clickable="true"android:layout_height="@dimen/_45dp"android:background="@drawable/white_gray_bg"android:gravity="center_vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="match_parent"android:ellipsize="end"android:lines="1"android:gravity="center"android:paddingLeft="@dimen/_17dp"android:text="手势解锁"android:textColor="@color/font_gray_0"android:textSize="@dimen/_17sp"/><Switchandroid:id="@+id/st_gesture"android:thumb="@drawable/switch_thumb"android:track="@drawable/switch_track"android:gravity="right|center_vertical"android:paddingRight="@dimen/_17dp"android:layout_width="match_parent"android:layout_height="match_parent"/></RelativeLayout>资源:android:thumb="@drawable/switch_thumb"滑块的资源,小球
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><sizeandroid:width="30dp"android:height="30dp"></size><solidandroid:color="@android:color/white"></solid><strokeandroid:width="1dp"android:color="#e5e5e5" /></shape>
android:track="@drawable/switch_track" 滑槽的资源
滑槽的资源分switch开时的和关闭时的资源,所以是一个选择selector文件
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:state_checked="true"android:drawable="@drawable/switch_track_on"></item><itemandroid:state_checked="false"android:drawable="@drawable/switch_track_off"></item></selector>switch_track_on打开
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solidandroid:color="#4cd964"></solid><cornersandroid:radius="32dp"></corners></shape>switch_track_off关闭
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solidandroid:color="@color/white"></solid><strokeandroid:width="1dp"android:color="#e5e5e5" /><cornersandroid:radius="28dp"></corners></shape>效果图如下:
更多不同的效果就需要更换不同滑块和滑槽资源文件就行了。
switch的监听:
mSwtich.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(isChecked){//选中的处理}else{//没有选中的处理}}});最后,发现了一个别人一个好玩的switch控件:
funswitch
相关文章推荐
- 使用组件来保护你的ASP代码
- SCI软件使用方法总结-定位测量篇
- IP 伪装简易使用说明
- 源码推荐:一个使用C#绘制图形引擎的Framework
- Win32汇编教程六 工具栏和状态栏的使用
- Win32汇编教程五 菜单和加速键的使用
- Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用
- 使用ActiveX控件开发网页常见的问题
- 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图 (2)
- 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图
- 手册中关于怎样使用TQuery 的误导
- 使用ASP和Word进行服务器端拼写检查
- 单独使用CRecordSet
- 在 Web 页上使用条件数值格式
- 关于PHP与Sybase数据库的连接与使用
- 使用ASP常见问题解答
- [导入]Guru of the Week:#41 使用标准库
- 如何使用ASP进行打印操作
- VB中Winsock控制的UDP协议的使用
- FUNCky 的使用