将 overridePendingTransition 与 recreate() 结合使用。可以做到吗?

Posted

技术标签:

【中文标题】将 overridePendingTransition 与 recreate() 结合使用。可以做到吗?【英文标题】:Use overridePendingTransition in conjuction with recreate(). Can it be done? 【发布时间】:2017-06-29 10:32:21 【问题描述】:

我一直在使用 android 的 overridePendingTransition 方法为我的活动页面转换设置动画,并取得了巨大成功。示例显示

startActivity(new Intent(GetTagActivity.this, MainActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

我有一种情况需要“刷新”页面并希望进行淡入淡出过渡。不深入细节,我不能使用StartActivity(...)方法来调用刷新(这将允许动画调用)。

使用recreate()可以完美地“刷新”页面,但是我无法添加过渡动画。这没有奏效。

recreate();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

也不是这个

recreate().overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

淡入淡出动画(或任何活动过渡)可以与 recreate() 一起使用吗?

【问题讨论】:

finish() 后跟 startActivity() 怎么样? 这方面有什么更新吗?我偶然发现了同样的要求。 没有专门针对这个问题的更新,但是自从这篇文章以来,我已经学会了如何将活动标志与 onNewIntent 结合使用,这使我能够通过 startActivity() 调用来模拟 recreate() 并使用动画.并非适用于所有情况,但值得研究。 【参考方案1】:

你可以使用这个(Kotlin 代码)

  override fun recreate() 
    finish()
    startActivity(Intent(this,this.javaClass))
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out);



【讨论】:

我的问题特别指出不要使用 startActivity() 方法。

以上是关于将 overridePendingTransition 与 recreate() 结合使用。可以做到吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何将thinkcmf导入eclipse

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?