如何在Android上向右移动旋转视图?

时间:2014-07-31 14:27:54

标签: android animation view rotation

我有一个视图,我以

的随机度编程
view.setRotation(rnd.nextInt(181));

我现在如何沿旋转方向移动视图?如果我使用

view.animate().translationXBy...

视图将向左或向右移动。有没有办法结合translationX和translationY使视图完全沿旋转方向移动?或者以任何其他方式实现这一目标?

2 个答案:

答案 0 :(得分:1)

好的,我自己找到了毕达哥拉斯的解决方案:

float rotation = view.getRotation();
float translationX = (float)(Math.cos(Math.toRadians(rotation)) * distance);
float translationY = (float)(Math.sin(Math.toRadians(rotation)) * distance);
view.animate().translationXBy(translationX).translationYBy(translationY)

答案 1 :(得分:0)

通过视图setAnimation()方法使用补间动画集旋转和平移动画 例如:

    RotateAnimation animation=new RotateAnimation(0, 360);
    animation.setRepeatCount(-1);
    animation.setRepeatMode(Animation.RESTART);
    textView.setAnimation(animation);
    animation.start();