2016-02-28 12 views
5

Ho un layout (come generato da Android Studio) in cui ho aggiunto un RelativeLayout all'AppBarLayout. Il codice è qui sotto e sembra che questo:utilizzare CoordinatorLayout per nascondere/mostrare RelativeLayout quando si scorre un RecyclerView

enter image description here

dove mi trovo bloccato: Quello che voglio ottenere è quando si scorre il Recyclerview giù voglio che la disposizione relativa verde (che ha l'id 'ControlContainer' scorre fuori con esso, e quando lo scorrimento dovrebbe scorrere (non solo nella parte superiore ma in qualsiasi luogo scorrere l'elenco)

La barra degli strumenti in alto dovrebbe rimanere dov'è.

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context=".MainActivity"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     app:popupTheme="@style/AppTheme.PopupOverlay" 
     /> 

    <RelativeLayout 
     android:id="@+id/controlContainer" 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:background="@android:color/holo_green_dark" 
     app:layout_scrollFlags="scroll|enterAlways"></RelativeLayout> 

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


<FrameLayout 
    android:id="@+id/frameLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <include layout="@layout/venue_list" /> 
</FrameLayout> 

ho pensato che l'utilizzo app:layout_scrollFlags="scroll|enterAlways" nella vista che dovrebbe scorrere via in combinazione con app:layout_behavior="@string/appbar_scrolling_view_behavior" dovrebbe conseguire che, ma non fare nulla. in alternativa, quando aggiungo questi campi alla barra degli strumenti, entrambi i layout scorrono - ciò che non è quello che voglio, voglio che la barra degli strumenti rimanga sempre fissa.

sarebbe bello se qualcuno potesse indicarmi la giusta direzione qui? (Speravo che sarebbe possibile con l'utilizzo di layout di coordinatore e non l'hacking qualche manipolazione di layout con gli ascoltatori onscroll?)

+0

Hai trovato qualche soluzione? Ho esattamente lo stesso problema ... thx – Blunderer

+0

sfortunatamente non ho trovato ancora una soluzione accettabile – stamanuel

risposta

0

Prova questo nel codice della barra degli strumenti:

app:layout_collapseMode="pin" 
app:layout_scrollFlags="scroll|enterAlways" 

Ho trovato questo link utile: Scrolling Toolbar

+1

ho giocato con quei valori, ma quando faccio come hai suggerito, la barra degli strumenti e il relativo layout scorrono. ma voglio che la barra degli strumenti rimanga fissa e solo il relativelayout per scorrere :( – stamanuel

Problemi correlati