【发布时间】:2019-07-25 01:08:46
【问题描述】:
所以我有 WelcomeActivity -> HomeActivity 并使用 finish()/supportFinishAfterTransition() 关闭 WelcomeActivity。我想做一个 slideTransition 或一个 fadeTransition (对其他建议开放)。
我对此进行了研究,事实证明有两种以上的方法:使用 anim.xml 文件的 overridePendingTransition 或使用 transition.xml 文件的 Transitions(来自 android docs)。 ..
我都试过了,但都给了我不想要的结果:
- 对于动画:我得到了这个丑陋的中间过渡黑屏:
fade_in.xml:
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
fade_out.xml:
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:zAdjustment="top"
android:duration="300" />
WelcomeActivity:(我尝试在 overridePendingTransaction 之前完成)
startActivity(Intent(this, HomeActivity::class.java))
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
finish()
- 对于转换:我做不到,所以 WelcomeActivity 正确关闭:它要么在动画开始之前关闭,要么根本不关闭。我正在关注android docs.. 我也试过这个:
style.xml
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowEnterTransition">@transition/enter_fade</item>
<item name="android:windowExitTransition">@transition/exit_fade</item>
我的其他问题是我应该采用哪种方法? Google 是否在推动动画过渡以开始新活动?
【问题讨论】: