android–overridePendingTransition()不起作用

android–overridePendingTransition()不起作用,第1张

概述我正在尝试实现从右到左滑动的快速SplashActivity,然后在MainActivity向右滑动时向左滑动.目前,动画XML已经到位,但它不起作用,只是出现闪屏,然后转换到主要活动也不起作用.这是SplashActivity,它是应用程序的开始活动.publicclassSplashActivityextendsActivity{priva

我正在尝试实现从右到左滑动的快速SplashActivity,然后在MainActivity向右滑动时向左滑动.目前,动画XML已经到位,但它不起作用,只是出现闪屏,然后转换到主要活动也不起作用.这是SplashActivity,它是应用程序的开始活动.

public class SplashActivity extends Activity{    private int SPLASH_MILliSECONDS = 1000;    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        overrIDePendingTransition(R.anim.slIDe_in_left, R.anim.slIDe_out_right);        setContentVIEw(R.layout.activity_splash);        runTimer();    }    private voID runTimer() {        Timer timeout = new Timer();        timeout.schedule(new TimerTask()        {            @OverrIDe            public voID run()             {                                       runOnUiThread(new Runnable(){                    @OverrIDe                    public voID run() {                        goToMainActivity();                    }                });            }                                   }, SPLASH_MILliSECONDS);    }    private voID goToMainActivity(){        Intent intent = new Intent(this, MainActivity.class);        intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION );        startActivity(intent);        finish();        overrIDePendingTransition(R.anim.slIDe_in_right, R.anim.slIDe_out_left);        }}

由于某种原因这不起作用,我做错了什么?

编辑:这是我的新goToMainActivity()方法,但仍然没有两个动画正在工作.在这一点上,我并不关心第一个动画工作,我只想要第二个动画工作.

private voID goToMainActivity(){        Intent intent = new Intent(this, MainActivity.class);        startActivity(intent);        overrIDePendingTransition(R.anim.slIDe_in_right, R.anim.slIDe_out_left);            finish();    }

解决方法:

我通常会从正在启动的活动的onCreate()函数中覆盖动画,这看起来效果很好.调用者应该只是startActivity();不要使用overrIDePendingTransition()或FLAG_ACTIVITY_NO_ANIMATION或其他任何东西.

复制&从实际部署的代码粘贴:

@OverrIDe public voID onCreate(Bundle savedState){    overrIDePendingTransition(R.anim.anim_slIDeup, R.anim.anim_hold);    super.onCreate(savedState);

正如其他人提到的那样,当您覆盖活动开始的动画时,您还应该覆盖活动完成的动画以匹配.

@OverrIDe public voID finish(){    super.finish();    overrIDePendingTransition(R.anim.anim_hold, R.anim.anim_slIDedown);}
总结

以上是内存溢出为你收集整理的android – overridePendingTransition()不起作用全部内容,希望文章能够帮你解决android – overridePendingTransition()不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1107403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存