动画只在第一次按钮点击时移动

时间:2017-07-04 20:44:48

标签: java android

我有一个问题。 当我点击它时,我有一个按钮蚂蚁,imageView(objectAnimator)下降。我在onClick中得到了我的˝动画,而且每件事都很简单,我点击按钮,图像就会下降 - 我有一个问题。

首先,有我的代码:

ObjectAnimator objectAnimatorBlock1 = getDownObjectAnimator(imageBlock1);
    animatorSetBlock1 = new AnimatorSet();
    animatorSetBlock1.play(objectAnimatorBlock1);
    animatorSetBlock1.start();

private ObjectAnimator getDownObjectAnimator(View v) {
        ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(v, "translationY", 0.0f, 860.0f);
        objectAnimator.setDuration(2000);
        return objectAnimator;

and XML:


<ImageView
        android:contentDescription="@string/image_description"
        android:layout_marginRight="202dp"
        android:layout_marginEnd="202dp"
        android:layout_marginTop="-155dp"
        android:layout_width="200dp"
        android:layout_height="90dp"
        android:id="@+id/imageBlock1"
        android:layout_gravity="end|center_vertical"
        android:src="@drawable/distance11" />
<Button
    android:layout_width="60dp"
    android:onClick="countIN"
    android:layout_marginLeft="20dp"
    android:layout_height="61dp"
    android:text="DROP THE BLOCK"
    android:id="@+id/button2"
    android:layout_gravity="start|center_vertical"
    android:background="@drawable/layout100"
    android:textStyle="normal|bold|italic" />

我的问题是:第一次点击按钮时,图像会下降并且静止不动(这是正确的),但是当我第一次点击按钮时,我希望该图像下降。第一次单击动画后清除(完成动画) - 然后在第二,第三,第四,...单击,对图像没有任何影响(它不移动)。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用AnimationUtils代替ObjectAnimator。您可以用xml编写动画并将其存储在R.anim文件夹中。然后,您可以将其应用于按钮的onClick侦听器,如下所示:

//image is your ImageView
button.setOnClickListener( 

...

//Suppose your animation is saved as moveDown.xml
Animation moveDown = AnimationUtils.loadAnimation(getApplicationContext, R.anim.
image.startAnimation(moveDown);

...

});

每次单击按钮时,这将使您的ImageView(image)执行动画。我希望这会帮助你。