2016-05-16 2 views
0

「ハートビート」のようなデータをリアルタイムで表示する必要があります。現在、データが入っていて、lineTo(int, int)を使ってパスを追加しています。プロットが画面の端に来たら、データを左にシフトして新しいデータのための空き領域を作成するか(推奨)、画面の左側に戻ってパスの始まりを消去したい新しいデータでAndroid - パスから行を削除する

offset(int, int)メソッドを使用してデータを左に移動させることはできますが、大量のデータが追加されるため、必要なものがすべて最新のデータを表示するだけで不必要に長いパスになります。パスの最初の部分を削除する方法が見つかりません。最も古いデータを削除してパスを再構築する効率的な方法は何ですか?

答えて

1

既存のパスからパス(またはパスの一部)を削除することはできません。追加することはできません。Pathを参照してください。したがって、自分でパーツを管理する必要があります。そのためには、あなたは別々のチャンクあなたがパスをいつでも再作成し、チャンクのためのコンテンツをシフトすることができ

Path[] chunks = new Path[2]; //two chunks should be enough 
Path currentPath; 

private void reCreatePath(){ 
    currentPath = new Path(chunks[0]); 
    currentPath.addPath(chunks[1]); 
} 

でパスを分割

chunks[0] = chunks[1]; //moving chunks 1 -> chunks 0 
chunks[1] = ... //add here your new Path 

reCreatePath(); //makes a new Path using data from chunks 
関連する問題