我有这样SplashScreen
的淡入淡出动画。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val splashScreen = installSplashScreen()
splashScreen.setOnExitAnimationListener { splashScreenProvider ->
val fadeAnim = ObjectAnimator.ofFloat(
splashScreenProvider.view, View.ALPHA, 1f, 0f
)
fadeAnim.duration = 500L
fadeAnim.interpolator = AccelerateInterpolator()
fadeAnim.doOnEnd { splashScreenProvider.remove() }
fadeAnim.start()
}
setContentView(R.layout.activity_main)
}
}
主题
<style name="Theme.MySplash" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">#000</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_baseline_play_arrow_24</item>
<item name="windowSplashScreenAnimationDuration">200</item>
<item name="postSplashScreenTheme">@style/Theme.AppTheme</item>
</style>
它在启动应用程序时运行良好。但是,当我旋转屏幕时,SplashScreen
再次显示。
如果我远程淡入淡出动画,SplashScreen
效果很好(旋转屏幕后不会显示)。

如何SplashScreen
在不删除淡入淡出动画的情况下防止旋转屏幕后显示?