1、What
昨天写了一篇 blog 说了一下Path
类里面的几个方法。
为什么会写的? 因为这几天写view的时候用到了,现在分享一个波浪加载的view。
2、没图没真相,上图
3、思路
实际上为一条正弦曲线。使用屏幕对应的x坐标求得y坐标,然后画出一条正弦曲线,然后把路径封闭,填充,添加动态,即可。
4、代码
首先设置画笔style来分析一下。
wavePaint.setStyle(Style.STROKE);
wavePaint.setStrokeWidth(20);
效果如图:
蓝色部分为我们画的路径,形成一个封闭路径。
private void setPath(){
int x = 0;
int y = 0;
//每次进来都把path重置一下
path.reset();
for (int i = 0; i < width; i++) {
x = i;
y = (int) (a * Math.sin((i * w + fai) * Math.PI / 180) + k);
if (i == 0) {
//x=0的时候,即左上角的点,移动画笔于此
path.moveTo(x, y);
}
//用每个x求得每个y,用qua