【问题标题】:How can I get rid of the animation when resetting my app?重置我的应用程序时如何摆脱动画?
【发布时间】:2014-10-31 17:34:29
【问题描述】:

我想要一个允许用户重置应用的菜单按钮。正如我所读到的,我不应该手动调用 onCreate(),而是使用以下代码:

Intent intent = getIntent();
finish();
startActivity(intent);

我的问题是这会触发一个动画,其中窗口消失并再次出现,我不希望发生这种情况。我怎样才能摆脱它?

【问题讨论】:

    标签: android android-intent reset


    【解决方案1】:

    我不确定您的意思是什么动画以及重置您的应用程序的含义,但如果您正在谈论过渡动画,您可以通过调用将其删除:

    overridePendingTransition(0,0);
    

    在您开始活动之前或致电setContentView之前

    如果您要在第二个活动上调用该方法并将其添加到那里,请确保覆盖您的 onFinish 方法:

    @Override
    public void finish() {
        super.finish();
        overridePendingTransition(0,0);
    }
    

    编辑

    这是你想要的吗?

    final Intent intent = getIntent();
    finish();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            startActivity(intent);
        }
    }, 500);
    

    【讨论】:

    • 重置我的应用程序是指摆脱它的状态,也就是说,我想达到与应用程序关闭然后重新启动相同的效果。只有一个活动,我正在完成然后重新开始以达到这种“重置”效果。
    • 检查我的编辑。请稍等片刻,然后再开始您的 Activity,它看起来就像您关闭了您的应用程序。
    • 对不起,我想我没有很好地解释自己。重点是:我的应用程序有很多东西,比如计数器、textEdits 的内容等。我希望用户能够重新启动所有这些,就好像他是从头开始启动应用程序一样。与其一一重新启动所有元素,我认为最好重新启动整个活动。问题是出现了动画,我不想看到过渡动画。我试图做的是消除动画,保留我的原始代码。
    • 这就是我之前告诉你的。使用`overridePendingTransition`
    猜你喜欢
    • 1970-01-01
    • 2019-01-09
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2010-09-20
    相关资源
    最近更新 更多