首页 > 解决方案 > 平滑更改按钮文本

问题描述

有什么方法可以为按钮的变化文本设置动画。

目前我正在使用button.setText("string");

setText()当我在代码中调用时,我希望按钮文本能够顺利更改。

标签: javaandroidbutton

解决方案


如果你只是想要在切换文本时像Fade OutFade In这样的平滑过渡,你可以创建一个这样的方法。这将改变带有淡入淡出动画的文本。

  private void setTextWithSmoothAnimation(TextView textView, String message) {
        textView.animate().setDuration(300).setListener(new Animator.AnimatorListener() {

            @Override
            public void onAnimationStart(Animator animation) {

            }


            @Override
            public void onAnimationEnd(Animator animation) {
                textView.setText(message);
                textView.animate().setListener(null).setDuration(300).alpha(1);
            }


            @Override
            public void onAnimationCancel(Animator animation) {

            }


            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        }).alpha(0);
    }

当您使用Button时,您需要将Button 替换为 TextView 并用任何 LinearLayout 或 FrameLayout 围绕此 TextView。之后,您需要为布局提供背景。


推荐阅读