measuredWidth / 3f,
0f,
measuredWidth * 2 / 3f,
measuredHeight.toFloat(),
Color.WHITE,
Color.parseColor("#000055"),
Shader.TileMode.CLAMP
)
canvas.drawRect(background, paintBack)
效果大概这个样子
绘制鲸鱼
咳咳,鲸鱼这个东西我在百度上面找了一张图片
而后使用 ps 抠出了其中最漂亮的大蓝鲸,并且使用 ps 液化工具对蓝鲸的尾巴进行了处理,目的就是让蓝鲸在运动的过程中尾巴不停的摆动从而实现游泳的效果
代码:
private val bitmaps = listOf<Bitmap>(
BitmapFactory.decodeResource(context.resources, R.drawable.bluefish1),
BitmapFactory.decodeResource(context.resources, R.drawable.bluefish2),
BitmapFactory.decodeResource(context.resources, R.drawable.bluefish3),
BitmapFactory.decodeResource(context.resources, R.drawable.bluefish4),
BitmapFactory.decodeResource(context.resources, R.drawable.bluefish3),
BitmapFactory.decodeResource(context.resources, R.drawable.bluefish2),
BitmapFactory.decodeResource(context.resources, R.drawable.bluefish1),
)
canvas.run {
drawBitmap(bitmaps[bitmapIndex % bitmaps.size], 100f, 100f, paint)
bitmapIndex++
drawFishWithPath()
}
实现效果:
虎鲸光能摆动尾巴还是不够的,我们还应有让他能做游泳的动作,最好能按照我们指定的路径来运动是最好的了
定义路径的核心代码
fishPath.moveTo(100f, 100f)
for (i in 0..20) {
fishPath.apply {
cubicTo(randowX(), randowY(), randowX(), randowY(), randowX(), randowY())
}
}
fishPath.close()
画出路径效果
这里是有问题的,因为路径转向的时候有很多锐角,可想而知这样是不行的,虎鲸宝宝也不会这么游泳的对吧,这个后续再优化,目前重要的是实现效果
让鱼沿着路径动起来
要如何成为Android架构师?
搭建自己的知识框架,全面提升自己的技术体系,并且往底层源码方向深入钻研。
大多数技术人喜欢用思维脑图来构建自己的知识体系,一目了然。这里给大家分享一份大厂主流
的Android架构师技术体系,可以用来搭建自己的知识框架,或者查漏补缺;
对应这份技术大纲,我也整理了一套Android高级架构师完整系列的视频教程,主要针对3-5年Android开发经验以上,需要往高级架构师层次学习提升的同学,希望能帮你突破瓶颈,跳槽进大厂;
最后我必须强调几点:
1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。
2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要! 最后你达到什么水平取决你消化了多少知识
3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。
你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境