以下是一个例子:
黑色图像有setRotationX(45)。在RotationX = 0时,黑色图像的宽度与红色图像的宽度相同,但在旋转时,其宽度会增加。
如果我使用getWidth,则任何rotationX值的值都相同。
另一个问题是宽度因屏幕尺寸而异。例如,在平板电脑上,黑色视图看起来不如红色视图宽。
我找到解决此问题的唯一方法是获取旋转视图的宽度,然后使用scaleX。
答案 0 :(得分:0)
这可以使用三角法来实现。它看起来像|sin(theta * 2) / 2| + 1
(对于宽度为1的正方形)。我是从头顶做这个,所以要做出准确的调整,包括添加考虑宽度和高度的功能部分。
答案 1 :(得分:0)
我意识到我的做法是错误的。对于我想要实现的目标,我必须使用pivotx和pivoty。默认情况下,pivotx和pivoty设置为50%,这就是为什么会发生这种情况。解决方案是使用(pivotx = 50%和pivoty = 0%)或(pivotx = 50%和pivoty = 100%)