Я пытаюсь создать заставку для приложения Android с помощью этой статьи: Правильные экраны-заставки. Как говорится в статье, я создал LayerDrawable с двумя слоями: растровое изображение фона и логотип (тоже растровое изображение). Логотип должен располагаться внизу экрана с отступом 32 dp, например. Здесь мой рисунок:
<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
:
значения/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>
и
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>
Но на некоторых устройствах Android с Soft NavigationBar мой логотип перекрывается им.
Я пытался указать флаг android:windowTranslucentNavigation
как ложный, но безуспешно.
Есть ли способ сделать Android Soft NavigationBar прозрачным вместе с прозрачной строкой состояния, или мне нужно определить доступность Soft NavigationBar в методе onCreate моей активности-заставки и обновить мой LayerDrawable, добавив нижний отступ для логотипа к высоте NavigationBar?
Спасибо.