Android 自定义View 画圆(奥运五环)
在自定义View的实现过程中,请在活动管理器activity_main.xml中配置相关参数,并确保在应用开发中始终遵循正确的包名规范

现在执行一下吧!无论是在真实机器上还是在虚拟环境中,在开始排查之前,请先确保你的项目没有问题。这样,在遇到问题时减少排查步骤。这是实际开发总结出来的经验。不过,在你真正执行之后会发现结果为空
下面在CustomView写下如下代码
/**
在纸上画画 (通俗理解)
@param canvas 纸
*/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();//创建画笔对象 笔
paint.setColor(Color.BLACK);//设置颜色
paint.setStyle(Paint.Style.STROKE);//画笔样式为空心,也可以理解为描边
paint.setStrokeWidth(4);//描边的宽度
paint.setAntiAlias(true);//抗锯齿(去掉锯齿)
/**
画圆
参数一:圆心的X轴坐标
参数二:圆心的Y轴坐标
参数三:圆的半径
参数四:画笔对象
*/
canvas.drawCircle(150,150,100,paint);//完成
}
我感觉注释已经非常清晰了。运行之后你会发现显示的是一个黑色的空心圆符号。

然后再修改一下代码,画一个实心圆

再运行一下

**canvas.drawCircle(150, 150, 100, paint);**具体说明该代码的作用是绘制一个位于坐标中心点(150, 150)位置并具有半径为100单位的圆形区域。可以通过修改该参数值来调节图形大小,并生成四个相同的图形元素以实现类似的效果展示。

然后运行一下,就可以看到

你是不是觉得有点意思呢?别人会不会让你自己画这种图案呢?还是会倾向于寻找插图素材吗?
刚才我们只是改变了半径而已,下面试着改变横坐标和纵坐标。
为了便于操作, 我们尝试绘制两个相邻排列的圆形图形. 如果两圆形沿水平方向相切, 则其中一个圆形中心点在x轴上的位置应等于另一侧中心点x坐标的值加减其直径长度. 例如上一步骤中观察到第一个端点位于x=150的位置, 那么第二个端点对应的中心点应当位于x=350的位置. 本次操作中保持两者的半径不变, 只对水平方向的位置进行调整以观察结果.

运行结果如下图

接下来运用这个思路来画一个奥运五环吧

运行效果如下图所示

除了无色还是比较像的?你可以随意更改 setColor 就行了。稍后进行一些代码修改。
/**
根据传入的颜色配置不同的画笔
@param color 颜色
@return
*/
private Paint customPaint(int color){
Paint paint = new Paint();//创建画笔对象 笔
paint.setColor(color);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(8);
paint.setAntiAlias(true);
return paint;
}
然后我们在onDraw中调用
/**
在纸上画画 (通俗理解)
@param canvas 纸
*/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
/**
画圆
参数一:圆心的X轴坐标
参数二:圆心的Y轴坐标
参数三:圆的半径
参数四:画笔对象
*/
canvas.drawCircle(150,150,100,customPaint(Color.BLUE));//完成
canvas.drawCircle(370,150,100,customPaint(Color.BLACK));
canvas.drawCircle(590,150,100,customPaint(Color.RED));
canvas.drawCircle(260,250,100,customPaint(Color.YELLOW));
canvas.drawCircle(480,250,100,customPaint(Color.GREEN));
}
运行效果如下:

[

超强干货来袭

云风专访:作为一名开发者,在过去40年里始终保持着高强度的工作状态,在代码海洋中不断探索未知的技术领域
简单介绍一下自己吧。我今年13岁毕业于上海交通大学。之前曾在一家小公司工作过。后来又去了华为、OPPO等知名的大公司。自2018年以来一直在阿里巴巴工作至今。
简单介绍一下自己吧。我今年13岁毕业于上海交通大学。之前曾在一家小公司工作过。后来又去了华为、OPPO等知名的大公司。自2018年以来一直在阿里巴巴工作至今。
清楚知道大多数初级和中级Android工程师想要提升自身技能时,通常都是通过自我学习成长或是参加培训课程来实现目标。然而由于机构通常会收取较高的费用,这种困难程度较高。此外在缺乏系统化的学习体系下个人的学习效果往往低效且耗时长,并且很容易遇到技术瓶颈在技能提升上难以突破!
经过精心整理的一份《2024年Android移动开发全套学习资料》,初志也很单纯——希望能为想自主提升但不知该如何开始学习的朋友提供帮助,并减轻大家的学习压力。





不仅包含适合初学者入门学习的基础资源,
还为三年以上开发经验者设计了专业级深化学习材料。
基本上涵盖了当前Android开发领域的核心知识点,
系统性非常完善!
因为文件较大仅用于展示目的每个节点内部都包含大厂面经学习笔记源代码资料实战项目以及讲解视频也会持续进行更新
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

总结
为了深入掌握Android相关知识点及其面试重点与常见考点的解题思路与应对策略,在此提供了一份详实的面试资料库
此外,高级架构技术进阶脑图、Android开发面试专题资料不仅助力大家在专业领域进一步精进技能水平,还能有效节省大家在寻找学习资料时间上的开销,并且能够与身边的朋友共同分享资源以促进共同进步



互联网上有大量关于学习Android的资源,在这些信息浩如烟海的情况下若所学知识缺乏系统性,则在遇到技术难题时往往停留在表面了解甚至无法深入探究的状态下,则难以实现实质性的技术进步。期待这份系统化的技术框架能为大家提供一个明确的方向参考。
2021年尽管经历了诸多波折,在众多声音都在预示着Android即将陨落之际,请各位保持冷静。没关系,请根据自己的规划制定自己的发展计划,在这个充满竞争的时代里,请记住:每个行业都逃不过这个现实。
相信自己能行!不会遇到办不到的事哦!但有些问题你可能暂时想不到解决办法。
希望大家在新的一年里事事顺心、心想事成、万事如意、心想大吉!
《深入解析互联网大厂面试真题、掌握进阶开发核心知识点、系统讲解视频课程并提供实战项目源码详解》通过点击传送门即可访问!
由于缺乏持续深入的研究基础,在真正实现技术创新方面会遇到诸多困难。希望这套系统化的技术框架能够为大家提供一个明确的技术发展路径
2021年尽管经历了许多波折,许多人都在猜测Android可能已经不行了,但是,别担心,先制定自己的计划,学习自己的技能,在每一个领域都是一样的道理.相信自己,没有办不到的,只有缺乏创造力.祝愿大家在2021年都能心想事成.
《互联网巨头企业面试真题解析》《深入学习开发技术的核心内容》《完整讲解视频课程》《实践项目源代码学习资料》通过点击传送门即可访问!**
