Home - GcsSloop/ViewSupport GitHub Wiki

前言

Android的自定义View有自己的一套流程,按照这个流程,你可以创造出各式各样的炫酷的自定义View,然而,做多了你就会发现其中存在很多重复的工作,例如 总是需要在 onSizeChanged 函数中获取到View的大小存储进全局变量中,总是需要创建一个画笔等。

除此之外,你也可能会遇到一些其它绘图中的问题,如: 测量距离,角度弧度转换 等一些常用的操作,虽然这些东西写起来并不是多么的困难,但偶尔弄错了公式可能会造成一些不必要的麻烦,所以我将这些工具整理成了一个工具包,方便以后优雅快速的开发自定义View。

如果你对此有什么比较好的建议,欢迎提交 Issues 来告诉我。

工具列表

工具 Wiki 简介
CustomView 查看 自定义View基类,帮助你节省部分代码
CanvasAidUtils 查看 Canvas辅助工具,你可以用它绘制坐标系来帮助你检查视图的位置,并在完成之后移除该坐标系。
CanvasUtils 查看 Canvas绘图工具,封装了一些Canvas没有提供的方法,目前只能用来画一条线。
DensityUtils 查看 密度工具, 根据设备进行如下单位转换: sp -> px, px -> sp, dp -> px, px -> dp
MathUtils 查看 数学工具, 封装一些数学算法,例如: 获取两点之间的距离,获取线段上某一点的位置, 获取线段与水平线夹角 等
ViewUtils 查看 视图工具, 封装了一些与视图相关等内容,如 手动测量视图大小, 为视图动态设置margin 等
ApiHelper 查看 版本检查工具,里面定义了很多与版本相关的常量,并且开放了几个检查方法,检查一个类(class)是否拥有某个字段或者某个方法。
MotionEventHelper 查看 MotionEvent辅助类,帮助转换 MotionEvent 中的坐标系。