现在我有一个CustomView
并且它的宽度很大,所以我将它放入HorizontalScrollView
。为了获得更好的性能,我只需在其onDraw()
方法中绘制此视图的可见矩形。现在我遇到一个问题,当我用手指滚动视图时,视图如何知道它的可见rect已被更改并通过调用postInvalidate()
来刷新其内容。
非常感谢有人可以帮助我。
答案 0 :(得分:1)
ScrollView应该在滚动到可见区域时自动绘制视图。你不需要调用postInvalidate()。只有在视图内容发生变化且需要重新绘制时,才会使视图无效。不要担心滚动视图。如果您想避免为不可见的东西执行不必要的绘图代码,请在onDraw()中使用Canvas的quickReject方法。或者Canvas的getClipBounds方法,以找出当前可见的视图部分。