Android圆环图表根据时间戳填充多种颜色

Aja*_*y P 1 java android donut-chart google-fit

我正在寻找一个图表,它将在那个时间周围显示一个圆圈,如12:00,01:00.根据活动时间填充一些颜色.我发现此链接创建甜甜圈图表类似于Google健身,但它不符合我的要求.

请在下面找到图片.这就是我期待图表的方式.

在此输入图像描述

这些颜色代表一些基于时间的活动.我有一组带有时间戳和活动类型的数据.

任何人都可以告诉我如何绘制这张图表?这有什么例子吗?

编辑

我发现此链接http://www.androidtrainee.com/draw-android-clock-pie-chart-with-animation/绘制时钟饼视图.但坚持设置宽度和填充颜色,如上图所示.现在它根据时间以完整的圆圈填充不同的颜色.但是如何设置此时钟的宽度以填充颜色和中心部分空白以显示08:40

sun*_*rer 7

由于这些是非常具体的要求,因此您可能需要在Android上创建自己的自定义视图.您链接的SO有一些有前途的库链接,包括fit-chart.文档不是很好,但似乎支持使用1%步长的值添加图表部分.

因此,您只需要将持续时间数据转换为圆圈的百分比,使用60分钟或12小时作为100%.

以下是拟合图表的相关用法部分:

Collection<FitChartValue> values = new ArrayList<>();
values.add(new FitChartValue(30f, 0x2d4302)); // 30f seems to represent 30%
final FitChart fitChart = (FitChart)findViewById(R.id.fitChart);
fitChart.setValues(values);
Run Code Online (Sandbox Code Playgroud)

另一个看起来很有前途的库是MPAndroidChart,它支持详细的饼图.

关于考虑时间:有很多关于如何绘制模拟时钟的教程,其中应包括如何围绕圆圈定位文本的计算.这是一个SO创建一个CustomClock 链接多个教程视图.

关于设置自定义视图,这个2d-donut-chart教程绘制基于Path.arcTo所有必需步骤的图表.

如果您需要进一步的帮助,如果您添加数据结构和已尝试的内容将会很有帮助.但我希望通过这些库和教程,您可以创建所需的视图.

关于更新的问题:我建议您创建自己的自定义视图.我最好的建议是继续比较ClockPieView.onDraw我提到的其他库的绘制方法,绘制带孔的圆环图.研究如何使用您的特定定位将文本呈现为onDraw的一部分.