2016-05-16 112 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