Android Material Design控件之Switch|SwitchCompat
程序员文章站
2022-03-07 08:30:35
...
Android Material Design Android官方控件学习目录
Switch|SwitchCompat
- extends CompoundButton
- Switch的应用场景和ToggleButton类似,多应用于两种状态的切换。
- Switch是在Android4.0(API14)以后推出的,要注意开发时的minsdk设置
- API 21 Switch的为MD风格,API14-API21之间为holo风格
- API 21也推出support v7 包下的SwitchCompat的Material Design 开关控件,对低版本的有了更好的的支持。
- 所以请使用android.support.v7.widget.SwitchCompat
- 所以请使用android.support.v7.widget.SwitchCompat
- 所以请使用android.support.v7.widget.SwitchCompat
导入v7库
'com.android.support:appcompat-v7:26.1.0'
简单使用
<Switch
android:id="@+id/Switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch"
android:showText="true"
android:textOn="开"
android:switchPadding="25dp"
android:textOff="关"
android:thumb="@drawable/ic_action_play"
android:typeface="monospace"
android:layout_marginLeft="32dp"
android:switchMinWidth="100dp"
android:splitTrack="false"
android:thumbTextPadding="10dp"
android:trackTint="@color/color_switch_track"
android:switchTextAppearance="@style/SwitchHintAppearance"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="32dp"/>
不管风格的使用方式
以下属性可能没有效果,因为不兼容低版本API
API 21及以上为MD风格,API14-API21之间为holo风格
- android:textOff=“开”:设置开关开启的按钮文字
- android:textOn=“关”:设置开关关闭时的按钮文字
- android:checked="":设置初始选中状态
- android:showText=“true”:设置是否显示按钮上的文字(API 21及以上)
- android:switchMinWidth="":开关最小宽度
以下属性可能没有效果,因为不兼容低版本API
左侧提示文字
- android:text=“Switch” 设置提示文字
- android:switchPadding="":设置开关与提示文字的空白距离
拇指按钮文字的风格 - android:switchTextAppearance="":设置拇指按钮文字
设置文字风格 字体类型 - android:typeface=“serif” 设置字体类型
Typeface (normal, sans, serif, monospace) for the text - android:textStyle 设置文字风格
Style (bold, italic, bolditalic) for the text.
thumb 拇指按钮
- android:thumb="":设置开关的图片 setThumbResource (int resId) API16
- android:thumbTextPadding text与thumb的padding API16
- android:thumbTint 着色 setThumbTintList(ColorStateList) API23
- android:thumbTintMode 着色模式 API23
src_over 3
src_in 5
src_atop 9
multiply 14
screen 15
add 16
track 轨迹
- android:track="":设置开关的轨迹图片 .9图
- android:trackTint 与trackTint配合
- android:trackTintMode 与trackTint配合
app:trackTint="@color/color_switch_track"
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#2266cc" android:state_checked="true"></item>//必须
<item android:color="#fff" ></item>//必须
</selector>
使用SwitchCompat完美向下兼容
<android.support.v7.widget.SwitchCompat
android:id="@+id/SwitchCompat"
android:text="SwitchCompat"
app:showText="true"
android:textOn="开"
android:textOff="关"
app:switchMinWidth="100dp"
android:checked="true"
app:switchPadding="25dp"
app:splitTrack="false"
android:thumb="@drawable/ic_action_play"
app:thumbTint="@color/color_switch_thumb"
app:thumbTintMode="src_atop"
app:thumbTextPadding="10dp"
app:trackTint="@color/color_switch_track"
app:switchTextAppearance="@style/SwitchHintAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="32dp"
app:colorControlActivated="#bbeeaa"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginTop="32dp"
app:layout_constraintTop_toBottomOf="@+id/Switch"/>
属性设置没效果,将android: 改为app:
以下为需要改为app:的属性
app:showText="true"
app:switchMinWidth="100dp"
app:switchPadding="25dp"
app:switchTextAppearance=" "
app:thumbTextPadding="10dp"
app:thumbTint
app:thumbTintMode
app:splitTrack="true"
app:trackTint
点击时背景变灰
android:background="@null"
上一篇: 段聊生活,聊的很幽默
下一篇: 笑爆,这伙男女不是二货,就是逗B
推荐阅读
-
android 生成wifi热点以及扫描连接wifi
-
Android NDK开发之旅–NDK-FFmpeg音频解码与播放
-
Android列表组件ListView使用详解之隐藏滚动条
-
Android下基于Iptables的一种app网络访问控制方案(一)
-
Android RecyclerView下拉刷新和上拉加载及依赖
-
Android架构中添加AutoDispose解决RxJava内存泄漏问题
-
Android Studio import Project 的正确姿势
-
Android解决Spinner初始化时自动选择第一个 item 及点击已选中的 item 时不触发Listener问题
-
Android studio怎么设置代码横向选择和竖向选择?
-
android 源码中添加一个最简单的自启动的本地服务