Skip to content

BlurSwitchButtonView

使用组件

xml
<com.qmdeve.blurview.widget.BlurSwitchButtonView
    android:layout_width="65dp"
    android:layout_height="wrap_content"
    app:baseColor="#0161F2"
    app:useSolidColorMode="false" />
java
BlurSwitchButtonView blurSwitch = new BlurSwitchButtonView(context);
blurSwitch.setBaseColor(0xFF0161F2);
blurSwitch.setChecked(true, true);
blurSwitch.setOnCheckedChangeListener(isChecked -> {
    // 处理状态变化
});
kotlin
val blurSwitch = BlurSwitchButtonView(context)
blurSwitch.setBaseColor(0xFF0161F2.toInt())
blurSwitch.setChecked(true, true)
blurSwitch.setOnCheckedChangeListener { isChecked ->
    // 处理状态变化
}

属性说明

属性名类型默认值说明
app:baseColorcolor#0161F2基础色,用于计算开关轨道开/关颜色。
app:useSolidColorModebooleanfalse是否启用纯色模式(不使用模糊派生色)。
app:solidOnColorcolor自动计算纯色模式下的开启颜色。
app:solidOffColorcolor自动计算纯色模式下的关闭颜色。

API 参考

方法名说明
setOnCheckedChangeListener(OnCheckedChangeListener)监听选中状态变化。
toggle()切换当前状态(带动画)。
isChecked()获取当前是否选中。
setChecked(boolean, boolean)设置状态,并可指定是否播放动画。
setBaseColor(int)设置基础色并重新计算轨道颜色。
setUseSolidColorMode(boolean)开启或关闭纯色模式。
isUseSolidColorMode()获取当前纯色模式状态。
setSolidColors(int, int)设置纯色模式下的开/关颜色。
getSolidOnColor()获取纯色模式下开启颜色。
getSolidOffColor()获取纯色模式下关闭颜色。

WARNING

大多数场景只需设置 app:baseColor,组件会自动计算开/关状态颜色。