我有一个应用程序,我每 4 秒生成一个新敌人。敌人使用TranslateAnimation
从右向左移动。这个动画总共需要 7 秒。
我现在面临的问题是,当动画运行时,每次我生成一个新敌人时,动画都会为旧敌人停止并开始为新敌人设置动画。
有没有办法使用相同的 TranslateAnimation 为两个不同的对象设置动画?
为了以防万一,这是我的动画
translate= new TranslateAnimation(
Animation.ABSOLUTE, (float) 1.0,
Animation.ABSOLUTE, (float) -4.0,
Animation.ABSOLUTE,0,
Animation.ABSOLUTE,0);
translate.setDuration(10000);
translate.setFillAfter(true);
//newIV is the enemy's ImageView
newIV.startAnimation(translate);
最佳答案
你可以像这样应用动画
在anim
文件夹中制作动画xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="500"
/>
</set>
然后在类里面写代码
final Animation RightToLeft = AnimationUtils.loadAnimation(context,
R.anim.right_to_left);
((ImageView)findViewById(R.id.yourImage))
.startAnimation(RightToLeft);
希望对您有所帮助。
关于android - 重用代码 Android 时的动画问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211885/