我有一个mpandroidchart,其中我从某个来源提供新值,目前作为演示,我从随机数生成器提供数据并使用runnable运行它。一切正常。在我设置的持续时间之后,绘制新值。 但我希望它保留旧值并绘制新值并像从右到左那样进行动画处理。 (例如-心电图机数据)。
final Handler handler = new Handler();
final Random random = new Random();
final Integer delay = 2000;
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 20 seconds
ChartValue = 10+random.nextInt(90);
// calling the graph generator function
generateGraph(ChartValue);
handler.postDelayed(this, delay);
}
}, delay);
mpAndroidChart
public void generateGraph(Integer val) {
final Integer delay = 2000;
ArrayList<Entry> yValues = new ArrayList<>();
yValues.add(new Entry(0, val));
LineDataSet set = new LineDataSet(yValues, "Data");
set.setFillAlpha(110);
set.setColor(R.color.red);
set.setLineWidth(3f);
set.setValueTextSize(10f);
ArrayList<ILineDataSet> dataSets = new ArrayList<>();
dataSets.add(set);
LineData data = new LineData(dataSets);
mChart.setData(data);
mChart.notifyDataSetChanged();
mChart.invalidate();
}
答案 0 :(得分:1)
在以下行之前:
mChart.notifyDataSetChanged();
您需要添加以下代码行:
mChart.animateX(1000);
其中1000是时间(以毫秒为单位)。