>我有一个mpandroidchart,其中我从某个来源提供新值,目前作为演示,我从随机数生成器提供数据并使用可运行的数据。它工作正常。新值在我设置的持续时间后绘制。但我希望它保留旧值并绘制新值并像从右到左一样动画。(示例 - 心电图机数据(。
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);
mp安卓图表
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();
}
在以下行之前:
mChart.notifyDataSetChanged();
您需要添加以下代码行:
mChart.animateX(1000);
其中 1000 是以毫秒为单位的时间。