android 中的旋转动画
Spin animation in android
我正在尝试旋转 imageview,我认为我这样做的方式相当丑陋。我正在使用递归方法,在达到最小值时从最小值扩展到最大值。
有没有更好的旋转方式?
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 秒。这实际上附加到启动器 activity 。一旦同步网络服务 returns ,我就会通过破坏启动器 activity.
来切换到主 activity
所以是的。有没有更好的方法来实现旋转?
在动画资源文件夹中创建一个 xml 文件。
<?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" />
比在你的 activity 或任何你想创建字段的地方 Animation scaling
初始化为scaling = AnimationUtils.loadAnimation(getContext(), R.anim.scaling);
使用 view.startAnimation(scaling);
设置动画。停止动画调用 view.clearAnimation();
我正在尝试旋转 imageview,我认为我这样做的方式相当丑陋。我正在使用递归方法,在达到最小值时从最小值扩展到最大值。
有没有更好的旋转方式?
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 秒。这实际上附加到启动器 activity 。一旦同步网络服务 returns ,我就会通过破坏启动器 activity.
来切换到主 activity所以是的。有没有更好的方法来实现旋转?
在动画资源文件夹中创建一个 xml 文件。
<?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" />
比在你的 activity 或任何你想创建字段的地方 Animation scaling
初始化为scaling = AnimationUtils.loadAnimation(getContext(), R.anim.scaling);
使用 view.startAnimation(scaling);
设置动画。停止动画调用 view.clearAnimation();