垂直于屏幕时,视图在 Y 轴上的旋转动画上剪辑

Posted

技术标签:

【中文标题】垂直于屏幕时,视图在 Y 轴上的旋转动画上剪辑【英文标题】:View clipped on rotation animation on Y axis when perpendicular to screen 【发布时间】:2012-11-07 22:23:33 【问题描述】:

我有一个片段(来自支持库),其中包含一个带有翻转动画的视图(与姜饼兼容)。该视图包含两个视图,一个用于首页,一个用于后页。根据翻转的父视图的角度,“PageViews”被隐藏或显示为 90°。翻转动画由移动事件触发。这有点像翻书页——书页粘在手指上。但是在某些时候,当视图旋转到最垂直于屏幕时,视图就会消失。由于越过近剪裁平面,它似乎被剪裁了。

有没有办法改变近端剪裁或以其他方式解决这个问题(可能会展平视图层次结构?)?还是应该用 OpenGL ES 更好地完成这些事情?

【问题讨论】:

【参考方案1】:

可以通过将所需图像设置为翻转视图/布局的背景而不是将 ImageView 放在顶部来解决此问题。所以不是翻转视图本身被剪裁了。如果顶部的视图到达其翻转父级的边界,则它们将被剪裁。我认为这个问题只出现在大视图被翻转(例如整个屏幕)。

【讨论】:

以上是关于垂直于屏幕时,视图在 Y 轴上的旋转动画上剪辑的主要内容,如果未能解决你的问题,请参考以下文章

如何使用按钮在一个轴上停止旋转并在新轴上开始旋转?

如何在全局轴上旋转图形,而不是局部轴?

Android ScrollView 在旋转动画上丢失剪辑

如何限制相机在 Y 轴上的旋转?帮我 §

分组形状上的硬币旋转效果动画

Swift UI 动画 360 度旋转