在Android中制作这个圈子的最佳方法是什么?我不想学习OpenGL只是为了绘制一个简单的进度圈(环),但如果没有其他方法我会。在开始之前,我想问你们,你们怎么想。我对如何做到这一点有各种建议。
答案 0 :(得分:3)
Android中内置了ProgressBar
窗口小部件,默认情况下会显示为圆圈。
您可以使用ImageView
支持的ShapeDrawable
作为响铃,并使用您选择的渐变扫描填充。
您可以创建100个PNG文件,每个百分比一个,并使用这些文件,可能通过LevelListDrawable
。
您可以使用View
以自定义Canvas
自行绘制整个内容。
也可能有其他替代方案,但这应该可以帮助你。
答案 1 :(得分:0)
使用SVG显然不太难,请查看Leandro Linares'progress circle example
答案 2 :(得分:0)
坦克到@CommonsWare,这是我的代码示例
public class SampleView extends View {
public SampleView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
Canvas canvas.drawColor(Color.CYAN);
Paint p = new Paint();
// smooths
p.setAntiAlias(true);
p.setColor(Color.RED);
p.setStyle(Paint.Style.STROKE);
p.setStrokeWidth(5);
// opacity
//p.setAlpha(0x80); //
RectF rectF = new RectF(50, 20, 100, 80);
canvas.drawOval(rectF, p);
p.setColor(Color.BLACK);
canvas.drawArc (rectF, 90, 45, true, p);
}
}