MPAndroidChart单击后更改切片颜色

时间:2016-01-11 14:54:48

标签: android mpandroidchart

我成功跟随YouTube tutorial使用MPAndroidChart在我的应用中绘制了一个PieChart,为每个切片提供了自己的颜色。 我创建了一个OnChartValueSelectedListener,这样我就可以知道用户点击了哪个饼图片段,如下所示:

public class MyActivity implements OnChartValueSelectedListener {
    @Override
    public void onNothingSelected() {
        // do stuff
    }

    @Override
    public void onValueSelected(Entry e, int dataSetIndex, Highlight h){
        Log.i("I clicked on", String.valueOf(e.getXIndex()));
    }

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        ...
        (PieChart)chart = (PieChart) findViewById(R.id.chart);
        ...
        chart.setOnChartValueSelectedListener(this);
    }
}

但即使知道点击了哪个切片,我也似乎找不到改变颜色的方法。

官方文档(https://github.com/PhilJay/MPAndroidChart/wiki/Setting-Colors)为我们提供了一种定义和更改颜色的方法,但仅限于数据集,而且PieChart似乎只有一个数据集,所以如果我更改数据集的颜色,每隔一片就会看到它们的颜色发生变化。

所以,我想知道是否有办法,在下面的监听器中

public void onValueSelected(Entry e, int dataSetIndex, Highlight h)

更改已单击的切片的颜色? 这是你已经面临的问题吗?

1 个答案:

答案 0 :(得分:1)

这很简单。

使用新的{{1>}对象替换您设置的颜色值

DataSet