动画不会在 postDelayed 运行() 中被调用

Animation doesn't get called inside postDelayed run()

我有一个线性布局,我希望它在使用 Handler 延迟 3 秒后进行动画处理。

过了3秒,连动画都没有执行,也没有进入AnimationListener的方法

这是我的做法:

    loginBox.setVisibility(View.GONE);
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {

            Animation animTranslate = AnimationUtils.loadAnimation(getApplicationContext(),
                    R.anim.translate);
            animTranslate.setAnimationListener(new Animation.AnimationListener() {
                @Override
                public void onAnimationStart(Animation animation) {
                }

                @Override
                public void onAnimationEnd(Animation animation) {
                    loginBox.setVisibility(View.VISIBLE);
                    Animation animFade = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade);
                    loginBox.startAnimation(animFade);
                }

                @Override
                public void onAnimationRepeat(Animation animation) {
                }
            });

            btnContinue.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent i = new Intent(getApplicationContext(), MainActivity.class);
                    startActivity(i);

                    finish();
                }
            });


        }
    }, 3000);

当我单击 btnContinue 时,运行() 方法工作正常。

我怎样才能让它发挥作用?

你忘了打电话

loginBox.startAnimation(animTranslate)

并且您可能希望 loginBox.setVisibility(View.VISIBLE); 在开始 TranslateAnimation

之前