6

Aggiornamento: questo accade su Android 5.0 ma funziona bene su 5.1. Ho presentato questo problema (https://code.google.com/p/android/issues/detail?id=175240) e sembra che sta andando essere incluso nella prossima release della libreriaCollapsingToolbarLayout non funziona correttamente


così Ho giocato con il nuovo Design Support Library e ho incontrato alcuni problemi. Penso di aver risolto la maggior parte di loro, ma non riesco a farlo funzionare. In realtà, nemmeno il provided example funziona correttamente sul mio telefono.

Il problema è che quando la barra degli strumenti è espansa, le icone sono troppo alte. E quando sono crollati, sono semplicemente spariti. Vedi gli screenshot.

Sto provando questo su un Moto X con 5.0. So che questo accade in più dispositivi, ma in realtà funziona su alcuni di essi. Ti sta succedendo? Qualche soluzione nota?

arrow and contextual menu are almost out of the screen and they are gone here

+0

Potrebbe essere necessario inserire un codice per qualsiasi aiuto. – Psypher

+0

@Ranjith Ho lasciato un collegamento al repository "ufficiale" (https://github.com/chrisbanes/cheesesquare/) poiché quell'esempio non funziona – aows

+0

Ho provato quel codice dal repository ... Quel codice ha funzionato perfettamente per me .... – Psypher

risposta

1

ho trovato questo fenomeno sarà in Android 5.0 e soprattutto

Questo è il mio modo per risolvere: eliminare "Android: fitsSystemWindows =" true "" in android.support.design .widget.CoordinatorLayout.

Ti piace questa:

<?xml version="1.0" encoding="utf-8"?> 
<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.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/detail_backdrop_height" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 
+1

rimozione fitsSystemWindows = "true" ottiene il corretto posizionamento della barra degli strumenti, ma si perde la possibilità di estendere la visualizzazione nella barra di stato. – Patrick

+0

l'ho trovato ora. Penso che questo sia un bug su Android 5.0. Non ho haog idea.sorry –

+0

Non so se si tratta di un bug su Android 5.0 o in questa libreria, ma non funziona su 5.0 e funziona su 5.1. – aows

0

Questo è un bug noto in com.android.support:design:22.2.0. È già stato corretto, è contrassegnato come rilascio futuro sotto problemi di Google. Quindi lasciamo che la speranza risolva sarà presto disponibile. Collegamenti con problemi: https://code.google.com/p/android/issues/detail?id=175240 e https://code.google.com/p/android/issues/detail?id=175069

+0

Sì, in realtà sono stato io ad archiviare il problema dal momento che non avevo una buona risposta qui. – aows

1

ho fissarlo con set margine della barra degli strumenti di programmazione e impostare Android barra degli strumenti: fitsSystemWindows = "true".

Su activity_detail.xml disposizione:

<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" 
       android:fitsSystemWindows="true" 
       app:layout_collapseMode="pin" /> 

     </android.support.design.widget.CollapsingToolbarLayout> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:paddingTop="24dp"> 

      <android.support.v7.widget.CardView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="@dimen/card_margin"> 

       <LinearLayout 
        style="@style/Widget.CardContent" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Info" 
         android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="@string/cheese_ipsum" /> 

       </LinearLayout> 

      </android.support.v7.widget.CardView> 

      <android.support.v7.widget.CardView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="@dimen/card_margin" 
       android:layout_marginLeft="@dimen/card_margin" 
       android:layout_marginRight="@dimen/card_margin"> 

       <LinearLayout 
        style="@style/Widget.CardContent" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Friends" 
         android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="@string/cheese_ipsum" /> 

       </LinearLayout> 

      </android.support.v7.widget.CardView> 

      <android.support.v7.widget.CardView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="@dimen/card_margin" 
       android:layout_marginLeft="@dimen/card_margin" 
       android:layout_marginRight="@dimen/card_margin"> 

       <LinearLayout 
        style="@style/Widget.CardContent" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="Related" 
         android:textAppearance="@style/TextAppearance.AppCompat.Title" /> 

        <TextView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:text="@string/cheese_ipsum" /> 

       </LinearLayout> 

      </android.support.v7.widget.CardView> 

     </LinearLayout> 

    </android.support.v4.widget.NestedScrollView> 

    <android.support.design.widget.FloatingActionButton 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     app:layout_anchor="@id/appbar" 
     app:layout_anchorGravity="bottom|right|end" 
     android:src="@drawable/ic_discuss" 
     android:layout_margin="@dimen/fab_margin" 
     android:clickable="true"/> 

</android.support.design.widget.CoordinatorLayout> 

su CheeseDetailActivity:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_detail); 

    Intent intent = getIntent(); 
    final String cheeseName = intent.getStringExtra(EXTRA_NAME); 

    final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    TypedValue tv = new TypedValue(); 
    if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { 
     int actionBarHeight = (int) (TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics()) 
       - (getResources().getDimension(R.dimen.abc_action_bar_default_padding_material))*2); 
     FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) toolbar.getLayoutParams(); 
     layoutParams.topMargin = - (actionBarHeight/2); 
     toolbar.setLayoutParams(layoutParams); 
    } 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    CollapsingToolbarLayout collapsingToolbar = 
      (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); 
    collapsingToolbar.setTitle(cheeseName); 

    loadBackdrop(); 
} 

Risultati: http://s22.postimg.org/nnwi0mh41/initial.png http://s22.postimg.org/8cmp00js1/collapsed.png

4

fissi su

com.android.support:design:22.2.1 
-2

rimuovere android: fitsSystemWindows = "true"

+0

Suggerirei un po 'di spiegazione piuttosto che una risposta a una riga. –

0

aggiungere questa linea al layout di collapsingToolBar: app: layout_scrollFlags = "scroll | exitUntilCollapsed"

che funzionerà

Problemi correlati