欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Switch控件的介绍和使用

程序员文章站 2024-03-30 20:54:39
写在前面Switch控件的介绍和使用先看东西布局属性介绍

写在前面

Switch控件的介绍和使用

先看东西

Switch控件的介绍和使用

布局属性介绍

<Switch
	android:id="@+id/mSwitchView"
	android:theme="@style/SwitchStyle"
	android:layout_width="wrap_content"
	android:layout_height="match_parent"
	android:layout_alignParentRight="true"
	android:checked="false"
	android:gravity="center_vertical"
	android:paddingLeft="12dp"
	android:paddingRight="12dp" />

属性介绍
android:theme="@style/SwitchStyle"   主题颜色(默认主题颜色会随着android系统版本的不同而显示不同的颜色)
android:checked="false"  默认选中状态(true是选中, false是未选中)






修改选中状态

// 修改控件的选中状态 - 在布局里 (默认状态)
<!--默认选中-->
android:checked="true"
<!--默认未选中-->
android:checked="false"


// 修改控件的选中状态 - 在代码里
mSwitchView.setChecked(true); // 选中
mSwitchView.setChecked(false); // 未选中

状态监听器

// 点击事件
mSwitchView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
	if (isChecked) {
		// 选中状态 (更改显示信息, 保存设置到sp...)
	} else {
		// 未选中状态 (更改显示信息, 保存设置到sp...)
	}
}
});

修改默认主题颜色

需要自定义一个主题, 指定未选中状态和选中状态的颜色.

1. 在res目录下找到values目录, 在里面找到styles.xml文件, 添加如下代码
<!--给Switch按钮更换颜色 (name自定义)-->
<style name="SwitchStyle" parent="Theme.AppCompat.Light">
	<!--未选中时的颜色 (灰色)-->
	<item name="colorControlNormal">#A5A5A5</item>
	<!--选中时的颜色 (蓝色)-->
	<item name="colorControlActivated">#416CE7</item>
</style>

2. 在布局中添加 android:theme="@style/SwitchStyle" 属性
<Switch
	android:theme="@style/SwitchStyle" />

3. 修改完成, 请看效果

Switch控件的介绍和使用

注意事项:

1. setChecked() 方法会触发 onCheckedChanged 的回调, 也就是触发了监听器, 如果在监听器中做了什么, 需要仔细测试.
2. 

本文地址:https://blog.csdn.net/geaosu2/article/details/107866859