2016-08-03 62 views
0

基本上我試圖對已繪製的畫布進行更改。有一部分會根據用戶輸入而改變。重新繪製整個畫布需要太多時間,所以我正在考慮使用相同的視圖和持有人制作單獨的畫布,並只畫出在畫布頂部更改的項目。我正在繪製的位圖似乎完全消除了之前繪製的畫布。任何方式在這個?Android:有沒有使用輔助畫布在現有畫布上繪製的方法?

要問一個更簡單的問題,我需要能夠在不擦除它的情況下在現有視圖(在這種情況下爲surfaceview)的頂部繪圖。

回答

0

這沒什麼意義,因爲Canvas實例是一個通過視圖層次結構自上而下傳播的實例。如果您只想刷新自定義視圖的一部分,則可以使用諸如view.invalidate(Rect)view.invalidate(left, top, right, bottom)等方法。

+0

基本上我只需要能夠在現有視圖的頂部繪製,而不會擦除下面的內容。 – jagrakye

+0

您可以創建一個額外的視圖來覆蓋現有的視圖。這可以通過使用「FrameLayout」或「RelativeLayout」來包裝它們來實現。你所需要做的就是引用這個新視圖。 –

+0

好的,也許我正在推翻它。謝謝! – jagrakye