仅使一个视图无效



我正在开发一个安卓平台游戏只是为了好玩。 我有两个视图重叠,当我在其中其中一个视图中调用无效时,另一个也会重新绘制。 我不需要重绘第二个视图,我只需要对其应用翻译,但无需重绘。我怎样才能做到这一点?

如果你调用view1.invalidate();view1view2重叠,它将重新绘制与其重叠的每个View..所以它会调用view2.onDraw();并且由于您使用的是RelativeLayoutview1并且view2可能相互重叠。

通常,View无法绘制"仅其自身",因为它取决于它的父级(前提是通过dispatchDraw方法对其进行剪辑和翻译Canvas)。失效需要使整个视图树失效。

最新更新