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。有什么建议吗?