记录一个画左圆右方进度条的方法

2018-05-25  本文已影响16人  viciyforever

如下图红框中红色或绿色:


这种效果有很多实现,这里记录一种使用Path实现的:

使用的Api:

path.addRoundRect(RectF rect, float[] radii, Path.Direction dir);

重点是第二个参数 float[] radii,radii是一个长度为8的数组,里面存放的为radius,对应矩形四个角,具体对应关系如下:

 float[] radii[] = new float[]{ 左上,左上, 右上,右上, 右下,右下, 左下, 左下 };

以上图左边红色进度条为例,代码应为:

int radius = 5;

Paint paint =  new Paint();

paint.setColor(color);

RectF rectF =new RectF(0,0,width,hight);

Path path = new Path();

float radius[] = new float[]{ radius, radius, 0, 0, 0, 0, radius, radius };

path.addRoundRect(rectF, radius,Path.Direction.CW);

canvas.drawPath(rectF ,path, paint );

/**

* the end

*/

上一篇 下一篇

猜你喜欢

热点阅读