简体   繁体   中英

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

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 .

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM