Reputation: 693
I have 2 views on RelativeLayout
I need to invoke(call) onDraw only single view
when I try view1.invalidate();
it also invoke(call) onDraw (view2 draw)
what to do?
thanks
Upvotes: 2
Views: 2110
Reputation: 611
I met the same question.
Finally, I found that drawing cache is disabled in android 2.3. Because of no cache, each time the view will redraw itself even the other invalidated.
To make cache enable, use:
setDrawingCacheEnabled(true)
The question is too old, but google put it first when I searched. I think it is useful for others who get into here.
Upvotes: 1
Reputation: 13327
if view1
is overlapping with view2
when you call view1.invalidate();
it will re-draw every View that is overlapping with it .. so it will call view2.onDraw();
and since you are using RelativeLayout
view1 and view2 maybe overlapped each other .
Upvotes: 1