循环进度条

时间:2013-03-05 11:08:37

标签: android android-animation android-progressbar android-assets

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

Circle Progress Bar

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

5 个答案:

答案 0 :(得分:14)

看看这个样本,你将在这里获得很好的样本:

Todd-Davies | ProgressWheel

看起来像下面的图像。

Sample 1  Sample 2  Sample 3  Sample 4

希望这会对你有所帮助。

答案 1 :(得分:1)

我认为您可以使用ArcView Link

它会对你有所帮助。

答案 2 :(得分: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

答案 3 :(得分: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);
}

答案 4 :(得分:0)

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