View类是Android中各种组件的基类,如View是ViewGroup基类,表现为显示在屏幕上的各种视图。Android中的UI组件都是由View和ViewGroup组成。
ttributeSet与自定义属性:系统自带的View可以在xml中配置属性,对于已经写好的自定义的View同样可以在xml中配置属性,为了使自定义View的属性可以在xml中配置,需要一下四个步骤:
- 通过<declare-styleable>为自定义View添加属性
- 在xml中为相应的属性生命属性值
- 在运行时获取属性值
二、自定义View
自定义View的最基本的方法是:
onMeasure():测量,决定View的大小;
onLayout():布局,决定View在ViewGroup中的位置
onDraw():绘制,决定绘制这个View;
在onMeasure方法中实现了自定义尺寸大小,在onDraw方法中实现了自定义的绘制View。接下来做一个自定义的圆形View。
@Override protected void onDraw(Canvas canvas) { //调用父类的onDraw函数,因为View这个类实现了一些基本的绘制功能,比如绘制背景颜色和背景图片 super.onDraw(canvas); //半径 int r = getMeasuredWidth()/2; //以圆心的横坐标为当前View的左起始位置+半径 int centerX = getLeft() + r; //以圆心的横坐标为当前View的顶部起始位置+半径 int centerY = getTop() + r; Paint paint = new Paint(); paint.setColor(Color.YELLOW); canvas.drawCircle(centerX,centerY,r,paint); }
- 参考资料和推荐阅读:
https://blog.csdn.net/weixin_43858011/article/details/125102763
标签:xml,自定义,onDraw,View,绘制,属性 From: https://www.cnblogs.com/xiamaocheng/p/16919798.html