2

在android中制作这个圆圈的最佳方法是什么?我不想学习OpenGL只是为了画一个简单的进度圈(环),但如果没有其他方法我会的。在开始之前,我想问你们,你们怎么看。我对如何制作这个的各种建议持开放态度。

一个浮雕圆,半圈蓝色,显示\

4

3 回答 3

3

ProgressBarAndroid 内置了一个小部件,默认情况下呈现为圆形。

您可以使用ImageView由 a 支持ShapeDrawable的圆环,以及您选择的渐变扫描填充。

您可以创建 100 个 PNG 文件,每个百分比一个,并使用这些文件,也许通过LevelListDrawable.

您可以View使用Canvas.

可能还有其他选择,但这应该会让你继续前进。

于 2012-10-13T18:29:03.777 回答
0

显然使用 SVG 并不太难,查看 Leandro Linares 的进度圈示例

于 2012-11-24T23:15:08.090 回答
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);
    }
}
于 2016-03-21T22:10:00.460 回答