android - 重用代码 Android 时的动画问题

标签 android animation android-animation

我有一个应用程序,我每 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/

相关文章:

java.lang.IllegalThreadStateException : Thread already started 异常

android imageview scaletype 不适用于 AnimationDrawable

javascript - jQuery 动画无限不起作用

android - 返回 Activity 之间的共享元素转换

java - Android 共享元素转换不适用于不同的 img 比例类型

android - Android 中的抽屉导航菜单项标题颜色

android - 耗时后的 Firebase 事件

android - startSupportActionMode() 抛出 NullPointerException

html - animate.css:如何让 css 动画只在第一次运行?

javascript - 带有淡入淡出动画的自动照片 slider - 仅限 JavaScript