尝试使用以前绘制的项目重用canvas

时间:2017-10-14 11:59:20

标签: android canvas

我在第一次尝试时在画布上绘制一个矩形,并且我再次尝试在另一个位置绘制一个矩形。当我最终将它们添加到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);

如何让两个矩形都可见?

2 个答案:

答案 0 :(得分:0)

removeAllViews()将删除LinearLayout的所有视图。

您正在removeAllViews()之后添加视图,这就是为什么您只看到第二个矩形。

因此请删除此ll.removeAllViews();行并再次运行。

答案 1 :(得分:0)

我在代码中发现了问题,我不应该使用相同的DrawRect对象来绘制另外一个项目,而是使用相同但不同的DrawRect对象才能实现神奇。