我在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. Android移動畫布
- 3. 如何在畫布內移動圖像
- 4. 移動矩形畫布內
- 5. 畫布條形圖動畫
- 6. 如何移動畫布上的圖像?
- 7. Android動畫+移動佈局
- 8. 如何在HTML5畫布中動畫圖形
- 9. 單擊時如何移動畫布圖形?
- 10. 如何在畫布中自由移動?
- 11. 如何在畫布中移動物品
- 12. 如何用一個移動的三角形/矩形創建畫布動畫?
- 13. 在沒有畫布的情況下在android中移動圖像
- 14. Android Studio如何動畫移動視圖?
- 15. 如何在Android中的畫布上移動路徑?
- 16. 用箭頭鍵在畫布中移動圖形
- 17. 如何在畫布中設置動畫位圖(Android)
- 18. WorldWindJava畫布上的2D圖形動畫?
- 19. 在畫布上移動旋轉的正方形圖像
- 20. 如何在Android畫布中製作2D圖形過渡
- 21. 如何在android中有一個移動的圖形或圖表?
- 22. Javascript-如何將圖像自動移動到Photoshop中的畫布?
- 23. Android:在畫布上保存圖形
- 24. 如何在android中移動和動畫圖像?
- 25. 如何在Android畫布上繪製數學函數的圖形
- 26. 如何讓圖像在畫布中移動?
- 27. 如何在畫布上移動橢圓
- 28. 如何在畫布上移動圓圈?
- 29. 在圓形路徑上移動畫布圖像
- 30. 使用鼠標移動畫布形狀
「在一個頁面,通過它可以看到圖表移活潑接班」這句話需要一些工作,我不知道你想要說什麼。一些源代碼也可能有幫助。 – Ralphleon 2011-04-12 22:26:21