【发布时间】:2013-03-05 11:08:36
【问题描述】:
我想创建一个圆形进度条,如下图所示
我不知道创建这个进度条的方法是什么。而且我不知道应该准备什么资产。
【问题讨论】:
-
也许这可以为您指明正确的方向github.com/grmaciel/two-level-circular-progress-bar
标签: android android-animation android-progressbar android-assets
我想创建一个圆形进度条,如下图所示
我不知道创建这个进度条的方法是什么。而且我不知道应该准备什么资产。
【问题讨论】:
标签: android android-animation android-progressbar android-assets
【讨论】:
我认为您可以使用 ArcView Link。
它会帮助你。
【讨论】:
试试下面的链接..我会对你有所帮助..我们需要自定义视图来创建一个新的..我们可以添加库项目并使用视图而不是自定义我们自己的视图..
关注这个库项目,
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
【讨论】:
尝试这种方法来绘制位图并将其设置为图像视图。在对话框中使用它来创建循环进度对话框。
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);
}
【讨论】:
您可以通过创建自定义视图来做到这一点。关于资产,我想您需要的只是一些颜色代码。创建一个类扩展 View 。添加方法 setProgress(int) 。在 OnDraw() 中绘制一个实心圆。以及从 0 到 _progress 的一条弧线。中心的drawText进度。您可以轻松找到示例代码。搜索它。
【讨论】: