转载请注明本文出自大苞米的博客(http://blog.youkuaiyun.com/a396901990),谢谢支持!
效果图
实现思路
- 画一个小六边形
- 按效果图位置画七个小六边形
- 实现一个小六边形的显示与隐藏动画
- 按顺序播放七个小六边形的动画
详解
画一个小六边形
画一个六边形只需要知道位置与大小。
位置这里使用中心点,大小使用中心点到顶点的距离。根据这两个数据就可以通过数学方法很容易的求出6个顶点坐标。
求出6个顶点坐标后可以通过canvas.drawPath
来画出六边形:
Paint mPaint = new Paint();
mPaint.setColor(mLoadingView.color);
mPaint.setStrokeWidth(3);
mPaint.setAlpha(0);
CornerPathEffect corEffect = new CornerPathEffect(length / CORNER_PATH_EFFECT_SCALE);
mPaint.setPathEffect(corEffect);
PointF[] points = getHexagonPoints(centerPoint, length)