求大神解释一下setRotationY

fx1ts 2016-02-03 04:04:57
setRotationY api文档上的解释是通过点(pivotx,pivoty)绕Y轴旋转。
可以通过setPivotX,setPivotY设置旋转点。如以下代码所示
ViewHelper.setPivotX(right, right.getMeasuredWidth()*0.5f);
ViewHelper.setPivotY(right, right.getMeasuredHeight()*0.5f);
ViewHelper.setTranslationX(right, mTrans);

不明白如何通过一个点绕Y轴旋转?

经过测试,设置不同的旋转点,对旋转效果影响很大。


...全文
613 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fx1ts 2016-02-04
  • 打赏
  • 举报
回复
如果是setTranslation,从自身中心旋转很好理解。但是对于setTranslationY是绕Y坐标轴旋转,旋转点的作用又是什么呢?
李元静 2016-02-04
  • 打赏
  • 举报
回复
piovty是设置旋转从自身的什么位置,比如设置50%50%,就是从自身中心点旋转。
fx1ts 2016-02-04
  • 打赏
  • 举报
回复
如果是沿着Y轴翻转的话, 设置android:pivotY 几乎没作用(区间是 0 ~ 100). 本来我以为沿着Y轴翻转,pivotY是没有作用的。但是我测试了一下,如果改变pivotY,翻转效果会有明显的改变。我也没找到有什么规律。但是可以肯定pivotY对翻转之后的效果是有影响的。
柒加伊 2016-02-04
  • 打赏
  • 举报
回复
<rotate> 标签下的android:pivotY官方解释 : Float or percentage. The Y coordinate of the center of rotation. Expressed either: in pixels relative to the object's top edge (such as "5"), in percentage relative to the object's top edge (such as "5%"), or in percentage relative to the parent container's top edge (such as "5%p"). 浮动或者百分比. Y轴的旋转中心坐标. 表示 : 相对于对象的顶部边缘的像素 (例如 5). 相对于物体的顶部边缘的百分比 (例如 "5%"), 或相对于父容器的顶部边缘的百分比 (例如 "5%p"). 在 xml 文件里面是 <rotate android:fromDegrees="0" android:toDegrees="-45" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:duration="400" /> 用百分比表示的, 说白了, 这两个属性代表的就是控件翻转的中心坐标. 如果是沿着Y轴翻转的话, 设置android:pivotY 几乎没作用(区间是 0 ~ 100). 如果大于100% 的话, 控件大小会被缩放. 你可以参照着api的解释多验证几次翻转的效果, 我知道的也不是很详细, 如果有错误的地方可以指正一下.

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧