Android 在requestLayout()之后使()无效?
在我的自定义Android视图中,在更改布局参数后,我将在某个时候调用Android 在requestLayout()之后使()无效?,android,Android,在我的自定义Android视图中,在更改布局参数后,我将在某个时候调用requestLayout()。我正在重写onDraw(…),因此我还需要确保调用了invalidate() 但是,是否需要在requestLayout()之后调用invalidate() 说我没有,我相信Android会在requestLayout()之后为我做这件事。可能是我在布局参数中所做的更改根本没有改变。Android会检测到这一点并避免在这种边缘情况下调用invalidate(),还是我保证无论发生什么情况都会调用
requestLayout()
。我正在重写onDraw(…)
,因此我还需要确保调用了invalidate()
但是,是否需要在requestLayout()
之后调用invalidate()
说我没有,我相信Android会在requestLayout()
之后为我做这件事。可能是我在布局参数中所做的更改根本没有改变。Android会检测到这一点并避免在这种边缘情况下调用invalidate()
,还是我保证无论发生什么情况都会调用invalidate()
编辑:这不是的副本。我特别询问Android代码中是否有一些豁免,例如,
if(newWidth==oldWidth&&newHeight==oldHeight)return;//无需失效?
即使我的布局参数没有更改,我仍然希望失效。换句话说,Android docs某处是否保证会发生无效?我认为这足够了-您可以检查isDirty
,然后决定是否调用invalidate
。我相信,invalidate
不要检查任何东西。我想这会对你有帮助。。!