700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android 饼图进度框 如何创建循环进度条(饼图) 如指标 – Android

android 饼图进度框 如何创建循环进度条(饼图) 如指标 – Android

时间:2020-08-06 23:14:24

相关推荐

android 饼图进度框 如何创建循环进度条(饼图) 如指标 – Android

您可以自定义视图(例如PieProgressView)或自定义Drawable(例如PieProgressDrawable).我采取了定制视图的方法,但是完全可行.

快速浏览Android的ProgressView源代码是一个非常复杂的实现.显然,他们涵盖了所有的基础,但你不必写一些复杂的东西.我们真的只需要两件事情:

>成员跟踪当前进度.

>根据当前进度绘制饼图的方法.

第一个很容易,只需保留一个成员字段来跟踪饼图的当前百分比.数字2有点复杂,但幸运的是,我们可以使用标准的画布绘制方法.

方便的是,Android的Canvas类提供了drawArc()的方法.你可以用它来获得你的饼干效果.假设我们将一个名为mPercent的成员字段的百分比存储为0到1之间的浮点数,则onDraw()方法可能如下所示:

@Override

protected void onDraw(Canvas canvas) {

final float startAngle = 0f;

final float drawTo = startAngle + (mPercent * 360);

// Rotate the canvas around the center of the pie by 90 degrees

// counter clockwise so the pie stars at 12 o'clock.

canvas.rotate(-90f, mArea.centerX(), mArea.centerY());

canvas.drawArc(mArea, startAngle, drawTo, true, mPaint);

// Draw inner oval and text on top of the pie (or add any other

// decorations such as a stroke) here..

// Don't forget to rotate the canvas back if you plan to add text!

...

}

以下是示例应用程序中完成的视图:

编辑

自从发布以来,我决定实际上没有理由实现自定义视图.你可以简单地使用一个drawable,它的level属性可以完成所需要的.我做了gist with the full drawable.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。