Skip to content
Quiet Side
Go back

Android Round Progress Bar

自定义 View RoundProgressBar 的简单实现

最近有一个小的交互效果需要实现,就是一个圆环的 ProgressBar,可以设置进度而展示不同的进度。虽然这个自定义 View 用搜索引擎可以搜出一大堆各式的实现方式,但是我这里提供一个简洁的 loading,希望能给你一些参考。

注意

我们这里使用 Canvas 来绘制出圆环的加载效果,但要注意的地方如下:

mPaint = new Paint();
mPaint.setAntiAlias(true); // 抗锯齿
mPaint.setStrokeWidth(mCircleWidth);
mPaint.setStyle(Paint.Style.STROKE); // 设置画笔样式
mPaint.setStrokeCap(Paint.Cap.ROUND); // 设置线条为圆形
mPaint.setColor(mCircleColor);

抗锯齿一定要开启(不然容易被 UE MM 拍回来 -.-)
线条设置为 ROUND 来实现设计稿中两端为圆形的效果。

private static final int DEFAULT_ZERO_DEGREE = -90; // 椭圆默认0°角为三点钟方向开始,默认-90°将调整为12点钟方向

其中利用 Canvas.drawArc 方法的初始的 角在三点钟的方向,所以这里给了一个默认的 -90° 来调整一下初始位置。
下面给出 Github 的连接,并附有效果图及源码。

Github


Share this post on:

上一篇
FIIL Diva Pro
下一篇
Android OpenGL Dev Tips