我有一个WelcomeActivity -> HomeActivity的流程,并使用 finish()/supportFinishAfterTransition()
关闭了WelcomeActivity。我想要实现幻灯片过渡或淡入淡出过渡(其他建议也可以)。
我已经进行了研究,发现有两种或以上的方法可以实现:一种是使用 anim.xml 文件的 overridePendingTransition
方法,另一种是使用转换效果(来自于Android文档)并使用 transition.xml 文件…
我已经都尝试过了,但两者都没有得到想要的结果:
- 对于动画文件:我得到了这个丑陋的中间过渡黑屏:
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:(我尝试在重写待处理事务之前终止)
startActivity(Intent(this, HomeActivity::class.java))
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
finish()
- 关于转场动画:我无法让WelcomeActivity正确关闭:它要么在动画开始之前关闭,要么根本不关闭。我正在遵循Android文档..我也尝试了这个:
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是在推动使用过渡效果来启动新活动,还是推动使用动画效果?