J'essaie de créer un écran d'accueil pour l'application Android avec cet article: Splash Screens the Right Way. Comme l'article le dit, j'ai créé LayerDrawable avec deux couches: bitmap d'arrière-plan et logo (aussi bitmap). Logo doit être situé au bas de l'écran avec indent 32dp, par exemple. Voici mon drawable:Barre d'état translucide Android mais barre de navigation non translucide (si présente)
<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>
Je l'ai signalé drawable comme android:windowBackground
dans mon thème param splash activité. Je veux aussi avoir une barre d'état transparente lorsque l'écran de démarrage est affiché sur les périphériques où cette fonctionnalité est supportée (API> = 19), donc j'ai créé deux fichiers de ressources pour différentes versions android et dans values-v19 \ styles.xml comme vrai. Voici mon values/styles.xml
et values-v19/styles.xml
:
valeurs/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>
et
valeurs 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>
Mais sur certains appareils Android avec NavigationBar doux mon logo est chevauché par celui-ci.
J'ai essayé de pointer le drapeau android:windowTranslucentNavigation
comme faux mais sans succès. Est-il possible de rendre transparente la barre d'état transparente de Android Soft NavigationBar avec la barre d'état transparente ou de détecter la disponibilité de SoftBar NavigationBar dans la méthode onCreate de mon activité splash et de mettre à jour mon LayerDrawable en ajoutant le retrait inférieur du logo à la hauteur de NavigationBar?
Merci.