要创建带有选中和未选中状态的圆角自定义视图,可以按照以下步骤进行操作:
View
或者ViewGroup
类。public class RoundedCustomView extends View {
private boolean isSelected;
private Paint paint = new Paint();
private int radius;
public RoundedCustomView(Context context) {
super(context);
init();
}
public RoundedCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public RoundedCustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
// 设置默认的圆角半径
radius = 10;
}
public void setSelected(boolean selected) {
isSelected = selected;
invalidate(); // 更新视图
}
public void setRadius(int radius) {
this.radius = radius;
invalidate(); // 更新视图
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 绘制圆角矩形
paint.setColor(isSelected ? Color.BLUE : Color.GRAY);
RectF rectF = new RectF(0, 0, getWidth(), getHeight());
canvas.drawRoundRect(rectF, radius, radius, paint);
}
}
RoundedCustomView customView = findViewById(R.id.customView);
// 设置为选中状态
customView.setSelected(true);
// 设置为未选中状态
customView.setSelected(false);
通过以上步骤,你可以创建一个具有选中和未选中状态的圆角自定义视图。可以根据自己的需求进行定制,比如自定义圆角半径、选中和未选中状态的颜色等。