Invalidate 英文废弃,无效的意思。不知道写api的人为什么不用redraw之类的更直接的词语而用这个词语。
大家都知道,view 调用 Invalidate 方法会导致重绘。
那么具体的情况是什么呢?
我写了一个demo去研究这个方法的作用。
在VISIBLE的情况下:
1.一个非容器的view 调用Invalidate():
会调用 此view的onDraw() ,重绘它自己。
2.一个容器的view调用Invalidate():
如果这个容器有背景,会调用 此view的onDraw() ,重绘它自己。
如果这个容器没有背景,不会调用 此view的onDraw() ,重绘它自己。
结论:不是调用Invalidate()就一定会导致重绘。
demo 地址:
本文深入探讨了Invalidate方法在视图重绘过程中的使用情况,通过实验发现并非所有调用该方法都会导致视图重绘。详细解析了不同条件下Invalidate方法的行为,并提供了具体的实验代码演示。
829

被折叠的 条评论
为什么被折叠?



