我在Android中用畫布繪製圖形,但我想將它移到左側或右側。我不想滾動它,我只是想將它移動到一個頁面中,通過它你可以看到圖形正在變化。 如果有任何機構幫助我,我將不勝感激。如何在Android的畫布中移動圖形
回答
我在尋找這個問題的答案。我有一個解決方案,但它會減慢並使用大量的CPU時間。我繪製了兩個寬度爲200像素的圖形,並將這些值存儲在一個數組中。我只是移動數組中的值並將它們移動到路徑中。 我會很高興有一個解決方案,畫布在左邊移動1個像素,第200個列用新值繪製。兩條路徑都是空的,需要大約2ms(Droid Incredible)來繪製路徑。當2條路徑填滿時,可能需要超過40ms。這將仍然是25fps,但我想同時運行其他線程,並且不想浪費CPU時間。 這是源代碼。
public class OSCI extends View
{ Integer[] codebuffer = new Integer[200]; Integer[] codebuffer1 = new Integer[200]; private static final String TAG = "MyActivity"; long start; int code=0;
// private static final String TAG = "MyActivity"; public OSCI(Context context) { super(context); Arrays.fill(codebuffer, 1); Arrays.fill(codebuffer1, 1); } public OSCI(Context context, AttributeSet attrs) { super(context, attrs);; Arrays.fill(codebuffer, 1); Arrays.fill(codebuffer1, 1); } @Override protected void onDraw(Canvas canvas) { Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(2); paint.setColor(Color.YELLOW); Path path = new Path(); path.moveTo(0, 70); Paint paint1 = new Paint(Paint.ANTI_ALIAS_FLAG); paint1.setStyle(Paint.Style.STROKE); paint1.setStrokeWidth(2); paint1.setColor(Color.GREEN); Path path1 = new Path(); path1.moveTo(0, 70); int max = Collections.max(Arrays.asList(codebuffer)); if(max==0)max=1; for (int a = 0; a < codebuffer.length; a++) { if (codebuffer[a] < 0)code=0; code = 70 * codebuffer[a]/max; path.lineTo(a * 2 + 2, 70 - code); path1.lineTo(a * 2+ 2, 70 - (codebuffer1[a])); } start=(SystemClock.elapsedRealtime()); canvas.drawPath(path1, paint); canvas.drawPath(path, paint1); Log.v(TAG, " "+(SystemClock.elapsedRealtime()-start)); } public void newValue(int value, int valuew) { System.arraycopy(codebuffer, 1, codebuffer, 0, 199); codebuffer[199] = value; System.arraycopy(codebuffer1, 1, codebuffer1, 0, 199); codebuffer1[199] = valuew; invalidate(); }
}
非常感謝您的解決方案。你可以讓我知道你在哪裏調用newValue(int value,int valuew)方法。 – ScorpionGroup 2011-05-01 15:24:54
謝謝你的回答,但我有兩個問題。第一次在代碼中調用newValue(int value,int valuew)方法時。其次,要看移位運動,你是在使用線程還是時間,以及你如何使用它。 – ScorpionGroup 2011-05-05 20:50:37
- 1. Android動畫+移動佈局
- 2. 單擊時如何移動畫布圖形?
- 3. 如何在畫布中移動物品
- 4. 如何在畫布中自由移動?
- 5. Android Studio如何動畫移動視圖?
- 6. 用箭頭鍵在畫布中移動圖形
- 7. 如何在畫布中設置動畫位圖(Android)
- 8. WorldWindJava畫布上的2D圖形動畫?
- 9. Javascript-如何將圖像自動移動到Photoshop中的畫布?
- 10. 如何在Android畫布上繪製數學函數的圖形
- 11. 如何讓圖像在畫布中移動?
- 12. 圍繞畫布移動一個矩形
- 13. 如何在畫布上移動橢圓
- 14. 如何移動圖像在Android中使用畫布繼續垂直?
- 15. Android的圖形效果整個畫布
- 16. Android SurfaceView和動畫圖形
- 17. 如何在html5畫布上繪製移動的重複圖案
- 18. 如何緩衝HTML5畫布的圖形
- 19. 如何在Android畫布上以特定角度移動球?
- 20. 將畫布滾動爲您正在移動的形狀
- 21. Android - 如何使用自定義SurfaceView動畫移動形狀?
- 22. 如何在HTML5畫布動畫中改變正方形的矩形
- 23. 移動畫布矩形觸摸問題(矩形中心)
- 24. 如何動畫在Android中使用代碼繪製的畫布?
- 25. Android - 如何讓我的按鈕更改畫布上的圖形
- 26. 如何在畫面中做動畫?創建動態條形圖
- 27. 畫布3d圖形
- 28. 動畫矩形移動順利android視圖
- 29. Android - 如何在畫布上移動圖像移動並獲取圖像精確座標?
- 30. 在Android中創建畫布動畫
「在一個頁面,通過它可以看到圖表移活潑接班」這句話需要一些工作,我不知道你想要說什麼。一些源代碼也可能有幫助。 – Ralphleon 2011-04-12 22:26:21