当前位置: 首页 > 知识库问答 >
问题:

textview动画的淡出过程不能正常工作

蒋嘉颖
2023-03-14

因此,我在屏幕顶部有一个textview,中间有八个按钮。我想让TextView从右侧滑入(动画),然后每当用户单击按钮时,它就会使TextView淡出,更改文本,然后用新文本淡出。淡入和更改文本可以很好地工作,但是TextView并没有淡出,而是消失了。TextViewoncreate中左侧动画中的幻灯片也有问题,所以我想这可能是我在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个答案

唐俊爽
2023-03-14

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();
}
 类似资料:
  • 动画outputFade Out UP BigFade InFade In LeftFade In LeftFade Out Left BigFade In RightFade Out Right Big淡出Fade Out UP Big淡出淡出Fade Out LeftFade Out Left BigFade Out RightFade Out Right Big淡出Fade Out UP B

  • 问题内容: 我一直在尝试放置一些基本的CSS3动画。目的是在按钮的click事件上切换类,并根据添加的类为div设置动画。该代码非常适合Firefox中的第一个切换迭代,但是对于Chrome等其他浏览器以及Firefox中的下一个迭代,只需瞬间即可切换。请帮助我找出问题所在。 片段: 我也在这里准备了一个小提琴。 问题答案: 这是Chrome的一种已知行为。Firefox似乎确实能够在过渡过程中顺

  • 我正试图在按下某个按钮时弹出一个警报对话框。我首先使用了Android Developer的示例代码而不是'这不起作用,所以我根据在这个站点上发现的情况进行了更改,但是现在我的程序在按下按钮后被迫停止。 就你的知识而言,这是在第二个不同于主要的活动中完成的。不确定这是否重要.... ‘ 碰撞日志:“03-25 19:34:24.373:E/AndroidRuntime(18828):致命异常:ma

  • 2,错误{org.apache.directory.server.LDAP.ldapserver}-ERR_171无法将LDAP服务(10,389)绑定到服务注册表。java.net.BindException:已在使用的地址 请帮忙谢谢 --------提示------------------- JAVA_HOME环境变量设置为/opt/java CARBON_HOME环境变量设置为/mnt/1

  • 我使用的是wordpress主题突出。它已经有了针对移动响应的媒体查询,这些查询来自: 正如你所见,它涵盖了从手机到平板电脑的宽度。我们的开发人员不希望在其所在的全局css中更改此默认代码,但我们需要使该站点在单个页面的css上的单独查询中响应手机和平板电脑。我希望手机的最大宽度为480px,平板电脑的最大宽度为1024,桌面电脑的最大宽度为2000。 我应该提出的三个媒体查询的正确顺序和语法是什

  • 我正在使用这段代码,但在iOS10上,它并没有设置动画,只是在增加和减少mySubview1的高度。为什么? 同样的代码在iOS9中工作正常