我有一个 TextView,我想将其滑出屏幕,然后更改文本,然后滑回到视图中。 我有 xml 格式的动画..
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%p"
android:toXDelta="100%p"
android:duration="700" />
</set>
..同样
swipe_left.xml
.
到目前为止,在我的 MainActivity 中我有..
TextView view = findViewById(R.id.status_text);
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_right);
view.startAnimation(animation);
view.setText(status_text);
animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_left);
view.startAnimation(animation);
但是,第二个动画很快就取消了第一个动画。 我已经看过有关如何按顺序链接它们的教程,但我需要更改动画之间的文本。
我所做的是在第一个动画上设置
onAnimationListener
,然后在 setText()
回调中定义 onAnimationEnd
和第二个动画。
Animation animationL = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_right);
animationL.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setText(status_text);
Animation animationR = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_left);
view.startAnimation(animationR);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
view.startAnimation(animationL);