Android Invalidate()仅限单个视图

时间:2011-11-14 11:36:41

标签: android android-view

我对RelativeLayout

有2个观点

我需要调用(调用)onDraw只有单个视图

当我尝试view1.invalidate();时,它也会调用(调用)onDraw(view2 draw)

该怎么办?

感谢

2 个答案:

答案 0 :(得分:1)

如果view1view2重叠,当您致电view1.invalidate();时,它会重新绘制与其重叠的每个视图..因此它会调用view2.onDraw();,因为你正在使用RelativeLayout view1和view2可能相互重叠。

答案 1 :(得分:0)

我遇到了同样的问题。

最后,我发现在android 2.3中禁用了绘图缓存。由于没有缓存,每次视图都会重绘自己,即使是其他无效的。

要启用缓存,请使用:

setDrawingCacheEnabled(true)

问题太旧了,但谷歌在搜索时把它放在第一位。我认为这对进入这里的其他人有用。