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
如对本文有疑问, 点击进行留言回复!!
雷电模拟器adb devices返回127.0.0.1:5555 offline分析和解决办法
Android开发---3种方式教会你炫酷的Android界面缓冲跳转另一界面
网友评论