Android开发 Invalidated到底更新几个视图 工作记录
24 November 2014
Android开发 Invalidated到底更新几个视图
今天工作中遇到一个问题,有两个视图A,B。都重写了onDraw()
方法,都捕捉onTouch()
事件调用invalidate()
来重绘视图。
调用日志发现很奇怪,发现我不管touch哪个视图,两个onDraw()
都会被调用。经排查原因如下:
-
A视图较大,B视图覆盖了A视图的部分,碰到A视图时,也会绘制覆盖A的视图。
-
touch B视图时,return的是false,touch时间会继续交给A视图处理。
以上造成不管碰到哪个视图,都会调用onDraw()
方法进行重绘。
blog comments powered by Disqus