如何用图像文件绘制一片饼图,而不是在MPAndroidChart中填充颜色?

时间:2018-02-25 11:38:22

标签: android slice pie-chart mpandroidchart graph-visualization

目前,我正在使用MPAndroidChart库(v3.0.3)开发一款可视化用户的Android应用程序。饼图中的步骤。在我们的设计中,我们想要用图像绘制图表的一部分,而不是用特定的颜色填充它。我搜索了很多帖子,但没有找到有用的信息。

我们的UI设计与piechart的图像一样。我们想要用"点图案的图像绘制切片。"作为鼓励用户实现每日目标的指标。用MPAndroidChart可以做到吗?如果是的话,你能给我一些提示或参考试试吗?非常感谢你。

1 个答案:

答案 0 :(得分:0)

可以做到。您所要做的就是为pieChart创建两个条目。为1条目提供您想要显示的百分比,将另一条目保留百分比从100开始。然后将第一个条目的颜色设置为您所需的颜色,并将seconentry的颜色设置为透明。同时将中心文本应用于中心的任何内容。

按照下面的代码执行此操作:

    PieChart pieChart = (PieChart) findViewById(R.id.chart);

    ArrayList<PieEntry> pieEntries = new ArrayList<PieEntry>();
    pieEntries.add(new PieEntry(66, "Today"));
    pieEntries.add(new PieEntry(44, ""));

    PieDataSet pieDataSet = new PieDataSet(pieEntries, "");
    pieDataSet.setColors(Color.BLUE,Color.TRANSPARENT);
    pieDataSet.setHighlightEnabled(true);
    pieDataSet.setValueTextSize(12);
    pieDataSet.setValueTextColor(Color.TRANSPARENT);

    PieData pieData = new PieData(pieDataSet);

    pieChart.getDescription().setText("");
    pieChart.setEntryLabelColor(Color.TRANSPARENT);
    pieChart.getDescription().setTextSize(12);
    pieChart.setDrawCenterText(true);
    pieChart.setCenterText("1600 Steps");
    pieChart.setCenterTextSize(22);
    pieChart.setCenterTextColor(Color.BLUE);
    pieChart.setEntryLabelTextSize(12);
    pieChart.animateY(1000);
    pieChart.setData(pieData);

enter image description here