2017-10-14 56 views
1

我在畫布上繪製一個矩形在第一次嘗試,我再次嘗試在另一個位置繪製一個更多的矩形。當我最終將它們添加到LinearLayout時,我看到唯一的第二個矩形,第一個矩形丟失。試圖重複使用畫布與以前繪製的項目

Bitmap place = Bitmap.createBitmap(400,800,Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(place); 
DrawRect dr = new DrawRect(); 
dr.setLocation(10,10); 
dr.draw(canvas); 
dr.setLocation(10,80); 
dr.draw(canvas); 
ll.removeAllViews(); 
ll.addView(dr); 

如何使兩個矩形都可見?

回答

0

我在代碼中發現了問題,我不應該使用相同的DrawRect對象來繪製一個更多的項目,而是使用相同的但不同的DrawRect對象做到這一點。

0

removeAllViews()將刪除所有LinearLayout的視圖。

您在removeAllViews()之後添加視圖,這就是爲什麼您只看到第二個矩形。

因此刪除此ll.removeAllViews();行並再次運行。

+0

removeAllViews刪除過去存在且未新添加的視圖。 – Abhinandan