如何在 TextView 对象的连续动画之间设置 Text() ?

问题描述 投票:0回答:1

我有一个 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);

但是,第二个动画很快就取消了第一个动画。 我已经看过有关如何按顺序链接它们的教程,但我需要更改动画之间的文本。

android textview android-animation
1个回答
0
投票

我所做的是在第一个动画上设置

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);
© www.soinside.com 2019 - 2024. All rights reserved.