Bera
Bera

Reputation: 693

Android Invalidate() only single view

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

Answers (2)

Liu Teng
Liu Teng

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

confucius
confucius

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

Related Questions