Saya mencoba membuat splash screen untuk aplikasi Android dengan artikel ini: Layar Pembuka dengan Cara yang Benar. Seperti yang disebutkan dalam artikel, saya membuat LayerDrawable dengan dua lapisan: bitmap latar belakang dan logo (juga bitmap). Logo harus ditempatkan di bagian bawah layar dengan indentasi 32dp, misalnya. Ini drawable saya:
<item
android:drawable="@drawable/splash_image" />
<item
android:id="@+id/logo"
android:bottom="@dimen/margin_splash">
<bitmap
android:gravity="bottom|center"
android:src="@drawable/logo_green" />
</item>
I pointed this drawable as android:windowBackground
param in my splash activity theme. I also want to have transparent status bar when splash screen is shown on devices where this feature is supported (API >=19), so I created two resource files for different android versions and in values-v19\styles.xml I pointed flag android:windowTranslucentStatus
as true. Here my values/styles.xml
and values-v19/styles.xml
:
nilai/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/bg_splash</item>
</style>
</resources>
dan
values-v19/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/bg_splash</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
</resources>
Namun pada beberapa perangkat Android dengan Soft NavigationBar, logo saya tumpang tindih.
Saya mencoba menunjukkan tanda android:windowTranslucentNavigation
sebagai salah tetapi tidak berhasil.
Apakah ada cara untuk membuat Android Soft NavigationBar transparan bersama dengan bilah status transparan, atau saya perlu mendeteksi ketersediaan Soft NavigationBar dalam metode onCreate aktivitas splash saya dan memperbarui LayerDrawable saya dengan menambahkan indentasi bawah untuk logo ke ketinggian NavigationBar?
Terima kasih.