循环进度条

时间:2012-08-15 17:21:37

标签: android

我正在开发一个需要“圆形进度条”的应用程序(它不需要进行颜色更改或者在中间是空的,对我来说应该是一件简单的事情,但是如果你'我想告诉我如何改变颜色,我也很乐意学习:))

enter image description here

我想用它来显示我的应用中的电池百分比

4 个答案:

答案 0 :(得分:2)

我希望像this lib之类的东西会有所帮助

布局中的定义很简单:

<com.lylc.widget.circularprogressbar.example.CircularProgressBar
    android:id="@+id/circularprogressbar1"
    style="@style/Widget.ProgressBar.Holo.CircularProgressBar"
    android:layout_width="120dip"
    android:layout_height="120dip"
    android:layout_marginTop="10dip"
    circular:subtitle="subtitle"
    circular:title="Title" />

并且用法也不复杂:

CircularProgressBar c3 = (CircularProgressBar) findViewById(R.id.circularprogressbar3);
c3.setTitle("June");
c3.setSubTitle("2013");
c3.setProgress(42);

它还支持动画进度,以备您需要时使用。原作者的所有学分。我刚发现它。希望它有所帮助

答案 1 :(得分:1)

我不知道我是否理解你,但我认为它可以帮到你: How to change color in circular progress bar?

答案 2 :(得分:0)

使用此方法并将其设置为图像视图,它在图像视图上绘制位图。你可以使用这段代码来显示进度对话框。

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);
}

答案 3 :(得分:0)

您可以使用以下库

https://github.com/chillerlabs/android-circular-progress-bar

这正是支持具有循环进度条的复杂渐变