2015-07-04 9 views
7

Sto cercando di rendere lo Toolbar nella mia app nascosta e visualizzata in base allo scorrimento dello RecyclerView. Questa gif mostra ciò che sto cercando di ottenere.Barra degli strumenti non nascosta su RecyclerView scroll

GIF

Sto seguendo this tutorial e non ottenere i risultati che sto cercando. Ecco il layout di mia attività:

<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/coordinatorLayout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity" 
android:fitsSystemWindows="true"> 

<android.support.v4.widget.DrawerLayout 
android:id="@+id/drawer" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:elevation="7dp"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <include layout="@layout/toolbar" /> 

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

<FrameLayout 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#FFFFFF" /> 

<android.support.design.widget.NavigationView 
    android:id="@+id/navigation_view" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:layout_gravity="start" 
    app:headerLayout="@layout/header" 
    app:menu="@menu/drawer" /> 

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

Ed ecco il layout Toolbar:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?attr/actionBarSize" 
    android:background="@color/ColorPrimary" 
    app:layout_scrollFlags="scroll|enterAlways" /> 

Quando ho eseguito questo codice, il Toolbar scompare completamente. Cosa c'è che non va?

+0

dare un'occhiata a questo https://mzgreen.github.io/2015/02/28/How-to-hideshow-Toolbar-when-list-is-scrolling%28part2%29/ –

+0

Mi piacerebbe segui il tutorial della Parte 3 perché presto implementerò un FAB. @SanketKachhela – wasimsandhu

+0

Lo stesso qui. Ho quasi la stessa struttura nella mia app e ho seguito lo stesso tutorial ma la barra degli strumenti non si nasconderà sullo scroll. Ti farò sapere se riesco a risolvere questo problema – ThanosFisherman

risposta

2

Se il numero RecyclerView si trova all'interno di un frammento, provare a inserire il seguente codice nella vista principale del layout del frammento: app:layout_behavior="@string/appbar_scrolling_view_behavior". La vista che contiene, che deve essere un figlio diretto del CoordinatorLayout

+1

Questo non funziona: ottengo lo stesso risultato. – wasimsandhu

0

Come @ orrett3 descritto basta aggiungere questa linea

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

al vostro contenitore FrameLayout come questo

<FrameLayout 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFFFFF" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

ho assunto la RecyclerView è un figlio di questo contenitore.