0
AndroidPlotを使用してリアルタイムチャートを作成しようとしています。タイマーに基づいてシリーズに値を追加します。このちらつきの問題を解決する方法。シモンズ:私はアンドロイドに新しいですし、androidPlot 私の現在のコードがある - >Android Plot flickering issue
import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.androidplot.util.PixelUtils;
import com.androidplot.xy.CatmullRomInterpolator;
import com.androidplot.xy.LineAndPointFormatter;
import com.androidplot.xy.PointLabelFormatter;
import com.androidplot.xy.SimpleXYSeries;
import com.androidplot.xy.XYPlot;
import com.androidplot.xy.XYSeries;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
private XYPlot plot;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initialize our XYPlot reference:
plot = (XYPlot) findViewById(R.id.plot);
actualDraw();
}
public void actualDraw()
{
final List<Number> ySeries=new ArrayList<Number>();
Timer timer=new Timer();
LineAndPointFormatter series1Format = new LineAndPointFormatter(Color.RED, Color.WHITE, null, null);
final SimpleXYSeries series1 = new SimpleXYSeries(ySeries,SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series1");
plot.addSeries(series1, series1Format);
timer.scheduleAtFixedRate(new TimerTask()
{
public void run()
{
plot.clear();
Random random=new Random();
series1.addLast(series1.size(),random.nextInt(100));
plot.addSeries(series1, new LineAndPointFormatter(Color.RED, Color.WHITE, null, null));
plot.redraw();
}
},
0, // run first occurrence immediatetly
100);
}
}