package com.example.andoridcustionview;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Checkable;
public class CheckView extends View implements Checkable{
private boolean isChecked=true;
private static final int[] CHECKED_STATE_SET = {
android.R.attr.state_checked
};
public CheckView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean performClick() {
toggle();
return super.performClick();
}
@Override
public void setChecked(boolean checked) {
if(checked==isChecked){
return;
}
this.isChecked=checked;
refreshDrawableState();
}
@Override
public boolean isChecked() {
return isChecked;
}
@Override
public void toggle() {
setChecked(!isChecked);
}
@Override
protected void drawableStateChanged() {
super.drawableStateChanged();
// invalidate();
}
@Override
protected int[] onCreateDrawableState(int extraSpace) {
int []drawalbeState=super.onCreateDrawableState(extraSpace+1);
if(isChecked()){
mergeDrawableStates(drawalbeState, CHECKED_STATE_SET);
}
return drawalbeState;
}
}
自定义checkView
最新推荐文章于 2021-05-27 16:45:56 发布
这个博客介绍了一个自定义的CheckView类,该类继承自View并实现了Checkable接口。CheckView包含了设置和检查状态的方法,以及处理点击事件和更新绘图状态的功能。
摘要由CSDN通过智能技术生成