切换活动时冻结动画
Posted
技术标签:
【中文标题】切换活动时冻结动画【英文标题】:Freezing animation when switching activities 【发布时间】:2018-11-29 15:44:21 【问题描述】:实际上我有两个 Activity ,我的 SplashScreen(从 Webservice 等加载数据)和我的 MainActivity
问题出在这里:当我的 Splashscreen 结束加载数据并开始转换到 MainActivity 时,降雪动画会在屏幕中间停止 1 - 1.5 秒,然后转换到 MainActivity!
降雪动画似乎冻结了,它也发生在我的 SplashScreen 中使用的另一个动画(元素旋转)
当我的 Splashscreen 结束加载数据时,它会调用:
startActivity(Intent(applicationContext, MainActivity::class.java))
finish()
然后过渡工作,我的 MainActivity 出现
你能告诉我该怎么做吗,因为它看起来很糟糕。
这种冻结出现在真实手机(诺基亚 6)和 android studio 模拟器上,我在调试模式下启动它
编辑:这是我的 SplashScreen 的一部分,没什么特别的,我在做动画然后我调用 goHome() 方法
class WelcomeScreen : Activity()
override fun onCreate(savedInstanceState: Bundle?)
//Remove title bar
requestWindowFeature(Window.FEATURE_NO_TITLE)
//Remove notification bar
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_welcome)
// Start Background Animation
AnimationManager.performRotationAnimation(this, R.id.sun_2)
goHome()
fun goHome()
startActivity(Intent(applicationContext, MainActivity::class.java))
finish()
【问题讨论】:
Hey Manu,如果您提供有关您的代码的更多信息,对用户来说会更好,如果可能,请发布您的启动画面代码。 @Manish 你好,我做到了,我不能发布我所有的 SplashScreen 代码,因为它几乎有 200 行,我认为在这种情况下拥有所有代码并不重要,因为即使我停用此代码,我的动画仍然冻结 【参考方案1】:用于活动动画,它可以帮助您进行活动切换动画
startActivity(Intent(this, MainActivity::class.java))
overridePendingTransition(R.anim.abc_popup_enter,R.anim.abc_popup_exit)
【讨论】:
以上是关于切换活动时冻结动画的主要内容,如果未能解决你的问题,请参考以下文章