| 属性 | 类型 | 说明 |
|---|---|---|
| 边框 | ||
| borderRadius | dimension | 边框圆角,默认值:view高度/2 |
| borderWidth | dimension | 边框宽度,默认值:5px |
| checkBorderColor | color | true:边框颜色,默认值:#B014BD28 |
| unCheckBorderColor | color | false:边框颜色,默认值:#FFD7DADD |
| 滑块 | ||
| barRadius | dimension | 滑块圆角,默认值:(viwe高度-borderWidth*2)/2 |
| checkBarColor | color | true:滑块颜色,默认值:white |
| unCheckBarColor | color | false:滑块颜色,默认值:white |
| barShadowWidth | dimension | 滑块阴影宽度,默认值:4px |
| barShadowColor | color | 滑块阴影颜色,默认值:#eeeeee |
| useBarShadow | boolean | 是否设置阴影,默认值:true |
| 滑块边框 | ||
| barBorderWidth | dimension | 滑块边框宽度,默认值:2px |
| barBorderColor | color | 滑块边框颜色,默认值:#eeeeee |
| 其他 | ||
| checkColor | color | true:view主体颜色,默认值:#B014BD28 |
| unCheckColor | color | false:view主体颜色,默认值:white |
| useAnimation | boolean | 是否设置动画,默认值:true |
| duration | integer | 动画执行时间,默认值:230毫秒 |
| reverse | boolean | View是否反向,true:右开左关,false:左开右关,默认值:false |
| enabled | boolean | 是否启用点击和滑动,默认值:true(为false时覆盖canMove属性) |
| canMove | boolean | 是否可以滑动滑块,默认值:true |
| checked | boolean | 默认值:false |
<com.github.MySwitch
android:layout_width="75dp"
android:layout_height="40dp"
app:borderRadius="20dp"
app:borderWidth="5px"
app:checkBorderColor="#B014BD28"
app:unCheckBorderColor="#FFD7DADD"
app:barRadius="20dp"
app:checkBarColor="@android:color/white"
app:unCheckBarColor="@android:color/white"
app:barShadowWidth="4px"
app:barShadowColor="#eeeeee"
app:useBarShadow="true"
app:barBorderWidth="2px"
app:barBorderColor="#eeeeee"
app:checkColor="#B014BD28"
app:unCheckColor="@android:color/white"
app:useAnimation="true"
app:duration="230"
app:reverse="false"
app:enabled="true"
app:canMove="true"
app:checked="true"
/>MySwitch ms=findViewById(R.id.ms);
ms.setBorderRadius();
ms.setBorderWidth();
ms.setCheckBorderColor();
ms.setUnCheckBorderColor();
ms.setBarRadius();
ms.setCheckBarColor();
ms.setUnCheckBarColor();
ms.setBarShadowWidth();
ms.setBarShadowColor();
ms.setUseBarShadow();
ms.setBarBorderWidth();
ms.setBarBorderColor();
ms.setCheckColor();
ms.setUnCheckColor();
ms.setUseAnimation();
ms.setDuration();
ms.setReverse();
ms.setEnabled();
ms.setCanMove();
ms.setChecked();/*状态改变事件*/
ms.setOnSwitchChangeListener(new MySwitch.OnSwitchChangeListener() {
@Override
public void onSwitchChange(boolean isChecked, MySwitch mySwitch) {
}
});
/*点击事件*/
ms.setOnSwitchClickListener(new MySwitch.OnSwitchClickListener() {
@Override
public boolean onSwitchClick(boolean isEnabled,boolean beforeClickChecked) {
//isEnabled: view是否启用
//beforeClickChecked: view点击之前的状态
//return true 拦截点击,不改变view状态
//return false 不拦截点击,改变view状态
//适用场景: 点击view--->网络请求--->根据网络返回结果改变viwe状态--->设置返回值(true或false)
return false;
}
});| 最新版本号 | |
|---|
implementation 'com.github:MySwitch:版本号看上面'
