Android:动画后删除TextView

时间:2014-11-27 10:11:20

标签: android android-animation textview

在我的应用程序中,我以编程方式添加TextView,然后以这种方式执行动画(traslate + alpha)

TextView point = new TextView(getApplicationContext());

//... all option for the TextView

Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.move_result_point);
        anim.setAnimationListener(this);
        point.startAnimation(anim);

我的xml动画是

<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:fillAfter="true">

   <translate
        android:fromYDelta="0%p"
        android:toYDelta="-50%p"
        android:duration="700" 
        />
   <alpha 
       android:fromAlpha="1"
       android:toAlpha="0"
       android:duration="700"/>
</set>

现在我想删除动画完成时生成的TextView,我知道我可以在

中完成
@Override
    public void onAnimationEnd(Animation arg0) {
}

但我如何识别我在其他方法中生成的确切TextView?我可以在我的布局中生成很多TextView ... 你能救我吗?

感谢

1 个答案:

答案 0 :(得分:2)

这个怎么样?

public class ViewAnimationListener implements AnimationListener {
    View view;
    public void setView(View view) {
        this.view = view;
    }
    public void onAnimationEnd(Animation animation) {
        // Do whatever you want with your view
    }
    public void onAnimationRepeat(Animation animation) {
    }
    public void onAnimationStart(Animation animation) {
    }
}

因此,当您想要为TextView设置动画时:

ViewAnimationListener listener = new ViewAnimationListener();
listener.setView(point);

Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.move_result_point);
anim.setAnimationListener(listener);

point.startAnimation(anim);