在 Android 4.3 及以下版本中,动画被裁剪到 ViewGroup 边界?
Animations are clipped to ViewGroup bounds in Android 4.3 and below?
我正在开发自定义 ViewGroup
,它在 dispatchDraw()
方法中绘制一些动画。
我在 Google 搜索中遇到了这个:https://groups.google.com/forum/#!topic/android-developers/dZ0Yxjz3v7o
并且我已将 XML 中的 clipChildren="false"
设置为我的自定义 ViewGroup
的 parent 和大 parent 视图。但是,这修复了在 Android 4.3 及更高版本上绘制的动画剪辑。 Android 4.0 - 4.3 仍然将视图动画剪辑到其边界。
如有任何帮助,我们将不胜感激。
我刚刚做了一些试验和错误,找到了解决我自己问题的方法 :)(当这种情况发生时你是不是很喜欢它??)
基本上我在自定义视图上调用 invalidate()
以绘制动画的地方,我还需要调用 ((View) getParent()).invalidate()
以使父级无效,以便强制绘制它。
我想 Android 的更高版本对此很聪明,但是对于低于 4.3 的任何内容,我需要明确地使父级无效,以便在我的自定义视图范围之外绘制动画。
希望这可以帮助 运行 遇到同样问题的人。
我正在开发自定义 ViewGroup
,它在 dispatchDraw()
方法中绘制一些动画。
我在 Google 搜索中遇到了这个:https://groups.google.com/forum/#!topic/android-developers/dZ0Yxjz3v7o
并且我已将 XML 中的 clipChildren="false"
设置为我的自定义 ViewGroup
的 parent 和大 parent 视图。但是,这修复了在 Android 4.3 及更高版本上绘制的动画剪辑。 Android 4.0 - 4.3 仍然将视图动画剪辑到其边界。
如有任何帮助,我们将不胜感激。
我刚刚做了一些试验和错误,找到了解决我自己问题的方法 :)(当这种情况发生时你是不是很喜欢它??)
基本上我在自定义视图上调用 invalidate()
以绘制动画的地方,我还需要调用 ((View) getParent()).invalidate()
以使父级无效,以便强制绘制它。
我想 Android 的更高版本对此很聪明,但是对于低于 4.3 的任何内容,我需要明确地使父级无效,以便在我的自定义视图范围之外绘制动画。
希望这可以帮助 运行 遇到同样问题的人。