7

我想创建一个圆形进度条,如下图所示,

圆形进度条

我不知道创建此进度条的方法是什么。而且我不知道应该准备什么资产。

4

5 回答 5

14

看看这个样本你会在这里有很好的样本:

托德-戴维斯 | 进步轮

它将如下图所示。

样品 1 样品 2 样品 3 样品 4

希望这会帮助你。

于 2013-03-05T11:56:31.723 回答
1

试试下面的链接..我会对你有所帮助..我们需要自定义视图来创建一个新的..而不是自定义我们自己的视图,我们可以添加库项目并使用视图..

按照这个图书馆项目,

http://www.androidviews.net/2013/03/holo-circular-progressbar/

http://www.androidviews.net/2013/02/circular-seekbar/

这用于定制我们自己的视图,

http://www.vogella.com/articles/AndroidCustomViews/article.html

于 2013-11-23T09:48:21.807 回答
1

尝试使用此方法绘制位图并将其设置为图像视图。在对话框中使用它来创建循环进度对话框。

private void circularImageBar(ImageView iv2, int i) {


    Bitmap b = Bitmap.createBitmap(300, 300,Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(b); 
    Paint paint = new Paint();

        paint.setColor(Color.parseColor("#c4c4c4"));
        paint.setStrokeWidth(10);
        paint.setStyle(Paint.Style.STROKE);
        canvas.drawCircle(150, 150, 140, paint);

        paint.setColor(Color.parseColor("#FFDB4C"));
        paint.setStrokeWidth(10);   
        paint.setStyle(Paint.Style.FILL);
        final RectF oval = new RectF();
        paint.setStyle(Paint.Style.STROKE);
        oval.set(10,10,290,290);

        canvas.drawArc(oval, 270, ((i*360)/100), false, paint);
        paint.setStrokeWidth(0);    
        paint.setTextAlign(Align.CENTER);
        paint.setColor(Color.parseColor("#8E8E93")); 
        paint.setTextSize(140);

        canvas.drawText(""+i, 150, 150+(paint.getTextSize()/3), paint); 

        iv2.setImageBitmap(b);
}
于 2014-10-30T12:45:18.037 回答
1

我认为您可以使用 ArcView Link

它会帮助你。

于 2013-10-15T08:12:18.873 回答
0

您可以通过创建自定义视图来做到这一点。关于资产,我想您需要的只是一些颜色代码。创建一个类扩展 View 。添加方法 setProgress(int) 。在 OnDraw() 中绘制一个实心圆。以及从 0 到 _progress 的一条弧线。中心的drawText进度。您可以轻松找到示例代码。搜索它。

于 2013-03-05T11:24:14.383 回答