【发布时间】:2018-03-19 17:48:27
【问题描述】:
我使用Grap View 创建了一个line graph,我可以手动左右滚动它,但我无法将其设置为scroll automatically。到目前为止,我还没有找到任何有人会尝试这个的线程,所以我想知道Graph View 是否支持自动滚动。
这是我目前的代码:
graph = (GraphView) findViewById(R.id.graph);
// first series is a line
DataPoint[] points = new DataPoint[1000];
for (int i = 0; i < points.length; i++) {
points[i] = new DataPoint(i, Math.sin(i*0.5) * 20*(Math.random()*10+1));
}
series = new LineGraphSeries<>(points);
// set manual X bounds
graph.getViewport().setYAxisBoundsManual(true);
graph.getViewport().setMinY(-150);
graph.getViewport().setMaxY(200);
graph.getViewport().setXAxisBoundsManual(true);
Handler handler1 = new Handler();
for (orderNr = 1; orderNr < 50 ;orderNr++) {
handler1.postDelayed(new Runnable() {
@Override
public void run() {
graph.getViewport().setMinX(orderNr);
graph.getViewport().setMaxX(orderNr + 100);
graph.addSeries(series);
}
}, 1000);
}
graph.getViewport().setScrollable(true); // enables horizontal scrolling
如果我不在Thread 行内这样做
graph.getViewport().setMinX(orderNr) 和 graph.getViewport().setMaxX(orderNr + 100)
将图表设置为在指定位置开始和结束,但是当它们被放入Thread 时,我认为Thread 首先完成,达到最大值orderNr,然后画出graph。
也许有人用MPAndroidChart 或aChartEngine 或其他东西尝试过这个,可以告诉我我做错了什么。
【问题讨论】:
标签: android android-studio viewport android-graphview linegraph