2017-03-31 6 views
1

Ich habe einen Titel mit einem Bild und einem RecyclerView mit einigen EinzelteilenScroll-Header, wenn Scroll recyclerview Artikel

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <RelativeLayout 
     android:id="@+id/header" 
     android:orientation="vertical" android:layout_width="match_parent" 
     android:layout_height="100dp" 
     android:background="#ffffff"> 


     <ImageView 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:padding="0dp" 
      android:id="@+id/imageView" 
      android:adjustViewBounds="true" 
      android:cropToPadding="false" /> 

    </RelativeLayout> 


    <ProgressBar 
     android:id="@+id/progressBar1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" /> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentStart="true" 
     android:scrollbars="vertical" 
     android:layout_alignParentLeft="true" /> 


</LinearLayout> 

RelativeLayout oben auf RecyclerView fixiert ist. Was ich will, ist diese Kopfzeile (RelativeLayout) nach oben scrollen, wenn Scroll RecyclerView.


Irgendwelche Ideen, wie Kopfzeile mit RecyclerView scrollen?

Antwort

2

Machen Sie Ihr Root-Layout zu einem Koordinatorlayout und erstellen Sie dann das RecyclerView Direct-Kind des Koordinatorlayouts. Wickeln Sie den bildlauffähigen Inhalt in ein AppBarLayout und wenden Sie dann die Bildlaufverhalten an. Versuchen Sie den folgenden Code, der Ihnen helfen sollte.

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

<android.support.design.widget.AppBarLayout 

     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
    > 

    <RelativeLayout 
     android:id="@+id/header" 
     android:orientation="vertical" android:layout_width="match_parent" 
     android:layout_height="100dp" 
     app:layout_scrollFlags="scroll" 
     android:background="#ffffff"> 


     <ImageView 
      android:layout_width="40dp" 
      android:layout_height="40dp" 
      android:padding="0dp" 
      android:id="@+id/imageView" 
      android:src="@mipmap/ic_launcher" 
      android:adjustViewBounds="true" 
      android:cropToPadding="false" /> 

    </RelativeLayout> 



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

<android.support.v7.widget.RecyclerView 
    android:id="@+id/recyclerView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentStart="true" 
    android:scrollbars="vertical" 
    android:layout_alignParentLeft="true" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    /> 



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

vielen dank, es funktioniert! –