如何设置饼图的标签颜色?

Rid*_*dhi 2 android mpandroidchart

我正在使用mpandroidchart库来创建饼图。

我想格式化饼图上的文本标签,但我不知道该怎么做。我试过用

data.setValueTextColor(ContextCompat.getColor(getActivity(),R.color.black));
Run Code Online (Sandbox Code Playgroud)

但是,它只更改数据的值,而不是标签。另外,我想成为饼图中的标签,我也尝试过使用以下代码,

PieEntry entry2=new PieEntry(50-scratches,"Remaining \nScratches");
Run Code Online (Sandbox Code Playgroud)

但是,它没有用。

我的代码如下:

private void setPiechart(float scratches) {

    List<PieEntry> values = new ArrayList<>();

    PieEntry entry1=new PieEntry(scratches,"Scratches");
    PieEntry entry2=new PieEntry(50-scratches,"Remaining \nScratches");

    values.add(entry1);
    values.add(entry2);

    PieDataSet dataSet = new PieDataSet(values,"");

    dataSet.setColors(ContextCompat.getColor(getActivity(),R.color.color_veridoc_gradient1),
            ContextCompat.getColor(getActivity(),R.color.colorBgChat));

    dataSet.setHighlightEnabled(true);
    dataSet.setAutomaticallyDisableSliceSpacing(true);

    dataSet.setSliceSpace(10);

    PieData data=new PieData(dataSet);
    data.setValueTextSize(20f);
    data.setValueTextColor(ContextCompat.getColor(getActivity(),R.color.black));


    pieChart.setData(data);
    Description description=new Description();
    description.setText("Scratches ");
    pieChart.setDescription(description);
    pieChart.setDrawHoleEnabled(true);
    pieChart.setHoleRadius(10f);

    pieChart.animateY(500);

    Legend legend = pieChart.getLegend();
    legend.setEnabled(true);

    legend.setTextColor(Color.BLACK);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        pieChart.setElevation(10);
    }

}
Run Code Online (Sandbox Code Playgroud)

我得到的结果是: 在此处输入图片说明

我想做的是简而言之

  1. 更改饼图中的标签颜色(从白色到黑色)
  2. 防止标签超出饼图。(例如,如图所示的剩余划痕)

有人可以帮我吗?

我还尝试了以下链接中提到的这些解决方案。

链接 1 链接 2

但它们似乎都不起作用。

use*_*550 7

   pieChart.setEntryLabelColor(Color.BLACK);
Run Code Online (Sandbox Code Playgroud)