当前位置: 移动技术网 > 移动技术>移动开发>Android > Switch控件的介绍和使用

Switch控件的介绍和使用

2020年08月10日  | 移动技术网移动技术  | 我要评论

写在前面

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. 修改完成, 请看效果

修改默认主题颜色

注意事项:

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

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网