白色のステータス バーとナビゲーション バーを備えたアプリケーションがあります。このようなスプラッシュテーマを定義しました。
<style name="Theme.MySplash" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">#00f</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_baseline_play_arrow_24</item>
<item name="windowSplashScreenAnimationDuration">200</item>
<item name="postSplashScreenTheme">@style/Theme.AppTheme</item>
</style>
<style name="Theme.AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:statusBarColor">#fff</item>
<item name="android:navigationBarColor">#fff</item>
</style>
主な活動
class MainActivity : AppCompatActivity() {
var keepSplashScreen = true
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 = 4000L
fadeAnim.interpolator = AccelerateInterpolator()
fadeAnim.doOnEnd { splashScreenProvider.remove() }
fadeAnim.start()
}
splashScreen.setKeepVisibleCondition { keepSplashScreen }
setContentView(R.layout.activity_main)
Handler(Looper.getMainLooper()).postDelayed({
keepSplashScreen = false
}, 3000)
}
}
SplashTheme
デバイス Android 12 (Pixel 4XL) では問題なく動作しますが、Android 8 (Xiomi A2) ではSplashTheme
フルスクリーン表示されません。
このビデオから、SplashScreen
exist を開始すると (フェード アニメーション)、白いステータス バーとナビゲーション バーが表示されます (Android 12 では、SplashScreen
exist 中は常にフルスクリーン)。SplashScreen
Android < 12で常にフルスクリーンにするにはどうすればよいですか?