三个值得学习的自定义 View 开源项目

吴小龙同学

共 854字,需浏览 2分钟

 · 2020-06-12

45bd81994cc7150516b7ec5865eec826.webp


自定义 View 主要掌握以下四块内容:


1、绘制机制:掌握 onMeasure,onLayout,onDraw 及相关类的使用;


2、事件传递机制:掌握 dispathTouchEvent(),onInterceptEvent(),onTouchEvent()三者的相关逻辑;


3、属性动画:因为属性动画核心是对数值的变化,使用属性动画对值 View 做动画操作;


4、相关手势类。


下面推荐三个开源项目,非常适合学习自定义 View,好好看看源码,一定让你对自定义 View 有更深的认识。

1、圆形图片库 CircleImageView

c29a18aad36104a96d6624b018910995.webp

图片裁剪功能是 Android 开发最常见的功能之一,而圆形图片也是非常常见的功能,常用于个人图像。GitHub 上开源的库 CircleImageView 就实现了这样的功能,如果看 CircleImageView 源码就一个类,直接继承 ImageView,通过复写 ImageView 一些方法绘制成圆形图片,是一个非常值得去学习自定义 View 开源项目。

GitHub 地址

https://github.com/hdodenhof/CircleImageView

2、带数字的 ProgressBar

378b88da75f8d2701b538f48f3e3668e.webp

代码家作品,带有数字的 ProgressBar,效果可谓惊艳,继承 View 实现 ProgressBar,虽然现在不更新了,但却是一个十分值得去学习自定义 View 开源项目。

GitHub 地址

https://github.com/daimajia/NumberProgressBar

3、图片缩放库 PhotoView

18a95c3901cec445546613d3dd7f8b19.webp

对 ImageView 支持各种手势操作,缩放、移动、旋转,同样是一个十分值得去学习自定义 View 开源项目,可以让你熟练掌握手势操作。

GitHub 地址

https://github.com/chrisbanes/PhotoView



- End -


猜你喜欢Android 画笔Paint
Android 画布CanvasAndroid事件传递机制分析
浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报