29

sto usando la nuova Design Library Android sulla base di questo esempio in github e herebug nuovo Android Design Library con AppBarLayout e barra degli strumenti

Ho eseguito l'esempio e sto avendo problemi con Toolbar all'interno CheeseDetailActivity. La barra degli strumenti non è mostrata come dovrebbe. Dai uno sguardo alle immagini qui sotto:

Alla prima immagine puoi vedere che la barra degli strumenti non è visualizzata correttamente.

enter image description here

Alla seconda immagine si può vedere che la barra degli strumenti viene visualizzata correttamente, ma la barra di notifica è bianco. Questo accade perché ho rimosso dal actiivty_detail.xml android:fitsSystemWindows="true" da android.support.design.widget.CoordinatorLayout

enter image description here

Penso che fitsSystemWindows dovrebbe essere vero e il problema è correlato con android.support.design.widget.AppBarLayout ma non hanno alcuna idea di come posso risolvere questo problema. Ho provato con marginTop con la stessa altezza di notificationBar ma non ha funzionato.

Ogni suggerimento è apprezzato :)

questa è una parte del 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> 
+0

dove ha fatto si imposta il 'app: layout_behavior'? –

+1

Non ho mostrato tutto l'xml ma puoi trovarlo qui: https://github.com/chrisbanes/cheesesquare/blob/master/app/src/main/res/layout/activity_detail.xml –

+0

[CoordinatorLayout # setStatusBarBackgroundColor (int)] (http://developer.android.com/reference/android/support/design/widget/CoordinatorLayout.html#setStatusBarBackgroundColor (int)) –

risposta

18

Cambia la tua Design Library con la nuova versione build.gradle file in app cartella come:

compile 'com.android.support:design:22.2.1'

come aggiornato in +AndroidDevelopers

ho avuto un output simile:

enter image description here

Sarà ti aiuta.

Grazie :)

+0

Non ho provato ma questa deve essere la soluzione :) –

+0

La libreria di progettazione di supporto per Android versione 22.2.1 non ha risolto il problema per me. Ho avuto ancora problemi su dispositivi con Android 5.0. Ho dovuto aggiornare a 23.1.0. Ora funziona – Sandra

8

Sembra che questo è un bug in com.android.support:design:22.2.0. Sarà risolto, è contrassegnato come versione futura. Quindi speriamo che sarà presto. Collegamenti con problemi: https://code.google.com/p/android/issues/detail?id=175240 e https://code.google.com/p/android/issues/detail?id=175069

+1

Speriamo che lo aggiustino rapidamente :) –

+0

@Ultimo_m Eventuali aggiornamenti? –

+0

@PratikButani Hanno fatto un aggiornamento in base a questo post https://plus.google.com/+AndroidDevelopers/posts/XTtNCPviwpj Non ho ancora controllato se risolve questo problema –

1

avuto lo stesso problema messo in grande stile con windowActionBar e windowNoTitle e ha deciso il mio problema.

<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> 
0

Ecco alcune soluzione di lavoro per 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);} 
0

ho avuto lo stesso problema, toolbar mostrava sbagliato a livello di API maggiore di 21. stavo usando android.support.v7.widget.Di barra come supportActionBar() e sotto contenuto è in frammento, vedere le immagini: on aplication start, toolbar is displaying wrong e when i colapse android.support.design.widget.CollapsingToolbarLayout, the picture is not hidden completely

Ho risolto questo quando ho aggiunto android: fitsSystemWindows = attributo "true" all'elemento radice di vista dove La barra degli strumenti si trova.

Ora: toolbar is displaying normal e picture is hidden completely

Problemi correlati