J'utilise la nouvelle bibliothèque de conception Android basée sur cet exemple chrisbanes/cheesesquare dans github et ici
J'ai exécuté l'exemple et j'ai des problèmes avec la barre d'outils dans CheeseDetailActivity. La barre d'outils n'est pas affichée comme il se doit. Regardez les images ci-dessous:
À la première image, vous pouvez voir que la barre d’outils ne s’affiche pas correctement.
Sur la deuxième image, vous pouvez voir que la barre d’outils est affichée correctement mais que la barre de notification est blanche. Ceci est dû au fait que j'ai supprimé actiivty_detail.xml Android:fitsSystemWindows="true"
de Android.support.design.widget.CoordinatorLayout
Je pense que fitsSystemWindows
devrait être vrai et que le problème est lié à Android.support.design.widget.AppBarLayout
mais je ne sais pas du tout comment résoudre ce problème. J'ai essayé avec marginTop
avec la même hauteur que notificationBar
mais cela n'a pas fonctionné.
Toute suggestion est appréciée :)
Ceci est une partie du activity_detail.xml
:
<Android.support.design.widget.CoordinatorLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/main_content"
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="@dimen/detail_backdrop_height"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
Android:fitsSystemWindows="true">
<Android.support.design.widget.CollapsingToolbarLayout
Android:id="@+id/collapsing_toolbar"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
Android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp">
<ImageView
Android:id="@+id/backdrop"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:scaleType="centerCrop"
Android:fitsSystemWindows="true"
app:layout_collapseMode="parallax" />
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
Modifiez votre fichier Design Library} _ avec la nouvelle version build.gradle dans le dossier app comme suit:
compiler 'com.Android.support:design:22.2.1'
Comme mis à jour dans + AndroidDevelopers
Je suis sortie comme:
Cela vous aidera.
Merci :)
eu le même problème mis en style avec windowActionBar et windowNoTitle et a décidé mon problème.
<style name="AppTheme.base" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
J'ai eu le même problème, ma barre d'outils affichait un niveau d'API supérieur à 21. J'utilisais Android.support.v7.widget.Toolbar comme supportActionBar () et le contenu ci-dessous est fragmenté, voir les images: sur l'application démarrer, la barre d’outils ne s'affiche pas correctement et lorsque je tombe sur Android.support.design.widget.CollapsingToolbarLayout, l’image n’est pas complètement masquée
J'ai résolu ce problème lorsque j'ai ajouté Android: fitsSystemWindows = "true" attribut à l'élément de vue racine où la barre d'outils est située.
Maintenant: la barre d’outils affiche les images normales et est complètement masquée
Voici quelques solutions de contournement pour l’API 21:
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Lollipop) {
marginResult = 0;
int resourceId = getResources().getIdentifier(getString(R.string.identifier_status_bar_height), getString(R.string.identifier_dimen), getString(R.string.identifier_Android));
if (resourceId > 0) {
marginResult = getResources().getDimensionPixelSize(resourceId)*2;
}
CollapsingToolbarLayout.LayoutParams params = (CollapsingToolbarLayout.LayoutParams) mToolbar.getLayoutParams();
params.topMargin -= marginResult;
mToolbar.setLayoutParams(params);}