自定义View
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。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @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
分类:
android 技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通