如何设置旋转动画的动态枢轴

时间:2017-09-03 05:45:59

标签: java android kotlin android-animation

我有一张图片。我需要它旋转一个小角度旋转在它的左下角。点击屏幕时此动画有效。图像出现在那里并旋转。但对于不同的位置,枢轴是恒定的。如何以编程方式为每个案例动态设置数据透视?

?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <rotate
        android:duration="500"
        android:interpolator="@android:anim/linear_interpolator"
        android:pivotY="100%"
        android:pivotX="0%"
        android:repeatCount="0"
        android:toDegrees="10"/>
</set>

我们是否有任何方式可以使用getX()getY()的价值给出枢轴值?

1 个答案:

答案 0 :(得分:0)

得到了答案。通过这样做完成它

var screenH=Resources.getSystem().getDisplayMetrics().heightPixels
var screenH=Resources.getSystem().getDisplayMetrics().widthPixels

var x= ("x value of your pivot)/screenW

var y= ("y value of your pivot)/screenH

var rotateAnim=RotateAnimation(0.0f , 20.0f , Animation.RELATIVE_TO_PARENT , x , 
Animation.RELATIVE_TO_PARENT , y)

rotateAnim.setDuration(1000)
rotateAnim.setFillAfter(true)

view.startAnimation(rotateAnim)