我成功跟随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)
更改已单击的切片的颜色? 这是你已经面临的问题吗?
答案 0 :(得分:1)
这很简单。
使用新的{{1>}对象替换您设置的颜色值。
DataSet