在我的应用程序中,我以编程方式添加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 ... 你能救我吗?
感谢
答案 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);