淡出textview动画的过程无法正常工作

时间:2015-05-13 00:54:46

标签: android animation textview fade

所以我的屏幕顶部有一个textview,中间有八个按钮。我希望发生的是textview从右侧(动画)滑入,然后每当用户单击按钮时,它会使textview淡出,更改文本,然后淡出用新文本。淡入淡出和更改文本工作正常,但textview消失,而不是消失。 textview中的onCreate左侧动画中的幻灯片问题也存在问题,所以我认为这可能是我对textview所缺少的内容。这是我的代码,有人请帮帮我!!

private void AnimationMethodForButtons(TextView TitleArea, int explanation){
    ObjectAnimator fadeOut = ObjectAnimator.ofFloat(TitleArea, "alpha",  1.0f, 0.0f);
    fadeOut.setDuration(3000);
    fadeOut.start();
    ObjectAnimator fadeIn = ObjectAnimator.ofFloat(TitleArea, "alpha", 0.0f, 1.0f);
    fadeIn.setDuration(3000);
    TitleArea.setText(explanation);
    fadeIn.start();
}

1 个答案:

答案 0 :(得分:1)

start()调用是异步的。如果你想在动画结束时做某事,你应该使用AnimatorListener

private void AnimationMethodForButtons(final TextView title, final int explaination){
    ObjectAnimator fadeOut = ObjectAnimator.ofFloat(title, "alpha",  1.0f, 0.0f);
    fadeOut.setDuration(3000);

    final ObjectAnimator fadeIn = ObjectAnimator.ofFloat(title, "alpha", 0.0f, 1.0f);
    fadeIn.setDuration(3000);

    fadeOut.addListener(new Animator.AnimatorListener() {
        @Override
        public void onAnimationStart(Animator animation) {

        }

        @Override
        public void onAnimationEnd(Animator animation) {
            title.setText(explaination);
            fadeIn.start();
        }

        @Override
        public void onAnimationCancel(Animator animation) {

        }

        @Override
        public void onAnimationRepeat(Animator animation) {

        }
    });

    fadeOut.start();
}