三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

自定义开关Switch

自定义开关Switch

好用的;
一、main.xml中控件

<Switch android:id="@+id/b_switch" android:layout_width="match_parent" android:layout_height="match_parent" android:switchMinWidth="20dp"//控件宽度最小值 android:minHeight="40dp"//控件高度最小值 android:textOn="开"//控件开着的时候文本 android:textOff="关"//控件关的时候文本 android:thumb="@drawable/thumb" android:track="@drawable/track" android:showText="true" />//如果没有这句,文本不会显示,

二、“@drawable/track”、android:thumb=“@drawable/thumb”;如下:

2.1、"@drawable/track"中 track.xml文件:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--当true的时候,显示的样式:green_track--> <item android:state_checked="true" android:drawable="@drawable/green_track" /> <!--当false的时候,显示的样式:gray_track--> <item android:drawable="@drawable/gray_track" /> </selector>
2.1.1:green_track.xml文件
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 高度40 --> <size android:height="20dp"/> <!-- 圆角弧度 20 --> <corners android:radius="25dp"/> <solid android:color="@color/joy_note_white_color"/> </shape>
2.1.2:gray_track.xml文件
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 高度30 此处设置宽度无效--> <size android:height="20dp"/> <!-- 圆角弧度 15 --> <corners android:radius="25dp"/> <solid android:color="@color/joy_note_white_color"/> </shape>
2.2、"@drawable/thumb"中 thumb.xml文件
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--按钮的选择器,可以设置按钮在不同状态下的时候,按钮不同的颜色 --> //选择器(点击时,来回晃动的小球)设置颜色,一般来说,是一种颜色 <item android:state_checked="true" android:drawable="@drawable/gray_thumb" /> <item android:drawable="@drawable/gray_thumb" /> </selector>
2.2.1、 gray_thumb
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 高度40 --> <size android:height="40dp" android:width="40dp"/> <!-- 圆角弧度 20 --> <corners android:radius="20dp"/> <!-- 变化率 --> <solid android:color="@color/joy_note_white_color"/> 这个stroke,可以设置圆与外部椭圆的间隔样式 <stroke android:width="1dp" android:color="#9e9e9e"/> </shape>
← 返回列表