android中的旋转动画

android中的旋转动画,android,android-animation,Android,Android Animation,我正在尝试旋转一个图像视图,我相信我的方式是相当丑陋的。我使用的是一种递归方法,当达到最小值时,从最小值缩放到最大值 有更好的旋转方式吗 private void spinLogo(boolean scaleUp) { if(scaleUp) { mLogo.animate().scaleX(1f).setInterpolator(new OvershootInterpolator()).setDuration(200).withEndAction(new Runna

我正在尝试旋转一个图像视图,我相信我的方式是相当丑陋的。我使用的是一种递归方法,当达到最小值时,从最小值缩放到最大值

有更好的旋转方式吗

 private void spinLogo(boolean scaleUp)
{

    if(scaleUp) {
        mLogo.animate().scaleX(1f).setInterpolator(new OvershootInterpolator()).setDuration(200).withEndAction(new Runnable() {
            @Override
            public void run() {
                spinLogo(false);
            }
        });
    }
    else
    {
        mMolLogo.animate().scaleX(0f).setInterpolator(new OvershootInterpolator()).setDuration(1000).withEndAction(new Runnable() {
            @Override
            public void run() {
                spinLogo(true);
            }
        });
    }
}
这部动画片的结束目前不关我的事。此动画最多运行5秒。这实际上是附加到启动器活动的。一旦syncwebservice返回,我就通过销毁启动器活动切换到主活动


所以是的。有更好的方法实现旋转吗?

在动画资源文件夹中创建一个xml文件

 private void spinLogo(boolean scaleUp)
{

    if(scaleUp) {
        mLogo.animate().scaleX(1f).setInterpolator(new OvershootInterpolator()).setDuration(200).withEndAction(new Runnable() {
            @Override
            public void run() {
                spinLogo(false);
            }
        });
    }
    else
    {
        mMolLogo.animate().scaleX(0f).setInterpolator(new OvershootInterpolator()).setDuration(1000).withEndAction(new Runnable() {
            @Override
            public void run() {
                spinLogo(true);
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXScale="0"
    android:fromYScale="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:repeatMode="reverse"
    android:toXScale="1.0"
    android:toYScale="1.0" />

而不是在活动中或任何需要创建字段的位置
动画缩放

使用
scaling=AnimationUtils.loadAnimation(getContext(),R.anim.scaling)初始化它


使用
view.startAnimation(缩放)设置动画。停止动画调用
view.clearAnimation()

这看起来真漂亮。我会在一小时内测试并标记这个答案。嘿。这是一个旋转动画。如果您看到我发布的示例代码,它是一个缩放动画。通过旋转,我的意思是不断地将图像从scaleX 0循环到scaleX 1,然后再循环。这将产生一种像硬币在表面上旋转一样的效果。所以我不需要旋转动画。我需要一个scaleanimation,它可以从0缩放到1,然后在X轴上无限缩放到1。有什么建议吗?