Barre d'état s'allume en blanc et ne pas afficher le contenu derrière elle
J'essaie AppCompat sur la Guimauve. Et je veux avoir une transparence de la barre de statut toutefois, il s'allume en blanc. J'ai essayé plusieurs solutions, mais ils n'ont pas de travail pour moi (Transparent barre d'état de ne pas travailler avec windowTranslucentNavigation="false", Lollipop : dessiner derrière la barre d'état avec sa couleur transparent). Voici le code associé.
Mon styles.xml
<style name="Bacon" parent="Theme.Bacon"/>
<style name="Theme.Bacon" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/theme_primary</item>
<item name="colorPrimaryDark">@color/theme_primary_dark</item>
<item name="colorAccent">@color/theme_accent</item>
<item name="windowActionBar">false</item>
<item name="windowActionBarOverlay">true</item>
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@color/background_material_light</item>
</style>
<style name="Theme.Bacon.Detail" parent="Bacon"/>
v21
<style name="Bacon" parent="Theme.Bacon">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
<style name="Theme.Bacon.Detail" parent="Bacon">
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
Activité
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" />
</FrameLayout>
Fragment
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="192dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginBottom="32dp"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@color/black_trans80">
<ImageView
android:id="@+id/photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/photo"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/anim_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
- Êtes-vous en mesure de résoudre ce problème? Je vais avoir le même problème. Dans l'une de mes activités en blanc de la barre de statut
- J'ai résolu mon problème en changeant mon Activité de mise en page à partir de FrameLayout à RelativeLayout. Veuillez voir ma réponse.
- Le mien est Relative seulement toujours obtenir le blanc de la barre d'état. J'ai posté la question ici: stackoverflow.com/q/33890066/1820644
- Après avoir lutté pendant un jour, j'ai trouvé la solution qui a fonctionné pour moi. Voici la réponse: stackoverflow.com/a/33892569/1820644
- J'ai changé android:windowTranslucentStatus statut de faux et de son travail
- J'ai rencontré le même problème et l'a résolu par la ceci
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la réponse dans ce lien:Barre d'état la Couleur ne change pas avec une Relative Mise en page comme élément racine
Il s'avère donc nous avons besoin de retirer la
dans styles.xml(v21). Et il fonctionne très bien pour moi.
(Un peu en retard à la fête, mais il peut aider quelqu'un)
J'ai eu exactement le même problème. En quelque sorte, certaines activités ont été normale, tandis que de nouveaux j'ai créé montraient blanc barre d'état au lieu de
colorPrimaryDark
valeur.Après avoir essayé plusieurs trucs, j'ai remarqué que la normale des activités de travail où tous les à l'aide de
CoordinatorLayout
comme la racine de la mise en page, tandis que pour les autres, je l'avait remplacé par de régulières mises en page parce que je n'avais pas besoin des fonctionnalités (animation, etc) offerts par lesCoordinatorLayout
.Donc la solution est de faire
CoordinatorLayout
la racine mise en page, puis à l'intérieur de lui ajouter votre ancienne mise en page de la racine. Voici un exemple:VEUILLEZ NOTER que sans
android:fitsSystemWindows="true"
cette solution ne fonctionne pas pour moi.Testé sur Lollipop et de la Guimauve
android:fitsSystemWindows="true"
à laCoordinatorLayout
dans Android 8.CoordinatorLayout
quand j'ai rencontré le même problème et la propriété spécifique qui fixe ce qui pour moi étaitandroid:fitsSystemWindows="true"
android:fitsSystemWindows="true"
ne fonctionne pas pour moi. Ce qui a résolu mon problème est d'utiliser un thème qui n'est pasAppTheme.NoActionBar
sur l'activité avec unCoordinatorLayout
. Je ne sais pas pourquoi qu'il fixe.Après avoir essayé en vain tous les ci-dessus, j'ai trouvé que de définir explicitement le thème de la correction du problème.
Qui doit aller de l'avant de la super.OnCreate() dans votre activité.
Viens de mettre cet article dans votre v21\styles.xml :
vrai
Il devrait ressembler à ceci :
false
valeurs dans les 2 derniers éléments. Bizarre, mais merci.Ajouter ceci dans votre style.xml
et ce dans votre onCreate();
J'ai fait face à la même question. Ce que j'ai fait a été, dans l' "v21/styles.xml" fichier modifié la valeur vrai:
à:
Vous devez ajouter cette propriété sur votre style pour voir le contenu
J'ai résolu mon problème en changeant mon Activité de mise en page à partir de FrameLayout à RelativeLayout. Merci tout le monde qui a essayé d'aider!
Essayer hiérarchie-viewer ou ViewInspector. Ces outils peuvent vous aider.
Vous verrez que la ligne de code dans values/styles/styles.xml(v21) . L'enlever et qui résout le problème
Lien vers cette réponse
Juste supprimer la balise suivante de style v21.
@android:couleur/transparent
Cela fonctionne pour moi.
Meilleure approche
Vérifier votre style.xml fichier dans lequel votre NoActionBar thème est là.
Assurez-vous que son parent a comme Thème.AppCompat.NoActionBar et également le personnaliser en ajoutant votre schéma de couleurs. Enfin définir vos thèmes dans le manifeste en tant que de besoin.
Ci-dessous un exemple de mon styles.xml fichier (ActionBar + NoActionBar).
Pour moi, il a travaillé en procédant comme suit :
.NoActionBar
android.support.design.widget.AppBarLayout
android.support.design.widget.CoordinatorLayout
en tant que parent de mise en page.Essentiellement, c'est la troisième étape qui attire la barre d'état dans le
colorPrimaryDark
sinon, il n'est pas établi si vous utilisezNoActionBar
thème.2ème étape donnera à votre barre d'outils revêtement.
Je ne suis pas sûr si c'est en retard mais j'espère que cela aide quelqu'un.
* Faire une fausse vue avec un fond transparent qui s'adapte à la mise en page, et de faire une coordinatorlayout comme la racine de votre élément de mise en page.
Pour les styles v23
Pour les styles v21
Si votre v21/styles.xml contenir
Puis,
Supprimer ou commentaire en dessous de la ligne ou d'un changement de couleur de la barre d'état,
Son travail très bien. Espérons que cela est utile. Merci.
Ma conjecture est que cela est causé par votre
android:windowBackground
. Est@color/background_material_light
une référence à blanc?<item name="android:statusBarColor">@android:color/transparent</item>
avec<item name="android:statusBarColor">@null</item>
.Vérifier cette
Barre d'outils devient blanc - barre d'accès n'est pas dessiné après le défilement de l'écran
https://code.google.com/p/android/issues/detail?id=178037#c19
Je suis en utilisant des bibliothèques 23.0.0. et le bug persiste.
Solution de contournement pour ce qui est de l'ajout de la Vue qui prend presque pas de place et peut être invisible. Voir la structure ci-dessous.
Cette Questions sur Stackoverflow.com reportez-vous à ce bug:
CoordinatorLayout Barre d'outils invisible sur enter jusqu'à la pleine hauteur
AppBarLayout - Mise en page parfois invisible une fois qu'il pénètre dans la vue (même si c'est pas entré)
vérifiez la couleur dispositifs mis en place dans des styles-21
[
Développez res -> valeurs -> styles répertoire à partir du panneau projet.
Ouvrir styles.xml (v21)
UTILISER L'UN DE CI-DESSOUS FAÇONS
android:windowDrawsSystemBarBackgrounds
propriété.android:statusBarColor
propriété.android:statusBarColor
se trouve dans la ligne.Si vous utilisez RelativeLayout /CoordinatorLayout c'est la solution qui a fonctionné pour moi:
Vous devez utiliser
Rember à utiliser CoordinatorLayout au lieu de RelativeLayout (le rendement est meilleur et fonctionne parfaitement avec AppBarLayout)
C'est comment votre fragment devraient commence
Bon codage!