5

Ich versuche, so etwas zu tun:Header-Layout oben TabLayout

http://i.imgur.com/NwewaBx.png

Im Moment habe ich das obige Layout ohne implementiert Header. Alles, was ich brauche, ist herauszufinden, wie man den Header hinzufügt.

Hier ist der Header-Layout ich über den Tabs setzen wollen:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:id="@+id/header" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_gravity="center_horizontal" 
     android:background="@color/green"> 

      <LinearLayout 
       android:orientation="horizontal" 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" > 

       <ImageView 
        android:layout_width="50dp" 
        android:layout_height="50dp" 
        android:background="@drawable/ic_image" 
        android:adjustViewBounds="true" 
        android:scaleType="centerCrop" 
        android:layout_gravity="center_vertical" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Hey!" 
        android:textColor="@color/white" 
        android:textSize="24sp" 
        android:layout_gravity="center_vertical" /> 

      </LinearLayout> 

    </LinearLayout> 

</LinearLayout> 

ich einen RecyclerView für den Inhalt unterhalb der Registerkarten verwenden. Ich verwende 3 verschiedene Fragments für die Activity.

Hier ist meine Aktivität:

<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:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:elevation="0dp"> 

     <android.support.v7.widget.Toolbar 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/toolbar_group" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="0dp" 
      android:background="@color/blue" 
      app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabTextAppearance="@style/TabLayout" 
      app:tabSelectedTextColor="@color/white" 
      app:tabTextColor="@color/white" 
      /> 

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" 
     /> 

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

Und hier ist eine meiner Fragmente:

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

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

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

Wie kann ich die Kopfzeile über den TabLayout und halten normalen Scroll-Verhalten hinzufügen?

+0

FrameLayout könnte dafür gut sein, da Sie es überall auf dem Bildschirm positionieren können. So eine Möglichkeit, dies zu erreichen - Keine Symbolleiste, und verwenden Sie ein framelayout und legen Sie, was Sie wollen, darunter auch andere Layouts, positionieren Sie es wo Sie wollen, und darunter die Tabellen – Tasos

+0

Nur der Inhalt des Bildschirms ist scrollbar mit Ihrem Vorschlag. :/ – user5314557

+0

Überprüfen Sie diese Bibliothek https://github.com/noties/Scrollable – orium

Antwort

0

Sie brauchen nur einen RecyclerView, um das zu tun. Kombinieren Sie Ihre Kopfzeile und TabLayout mit einer Kopfzeilenansicht und fügen Sie sie dann zu Ihrer RecyclerView hinzu.

Überprüfen Sie https://github.com/u3breeze/android-RecyclerView-WithHeaderAndFooter. Ich habe eine Erweiterung von RecyclerView.Adapter gemacht. Einfaches Hinzufügen von Kopf- und Fußzeilen zu RecyclerView.

+0

Lesen Sie erneut meine Frage und betrachten Sie das bereitgestellte Bild. Was du verlinkt hast, ist nicht das, wonach ich suche. – user5314557