5

sto cercando di fare qualcosa di simile:struttura dell'intestazione sopra TabLayout

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

Al momento ho il layout sopra senza l'intestazione implementato. Tutto ciò di cui ho bisogno è capire come aggiungere l'intestazione.

Ecco il layout dell'intestazione voglio mettere sopra le schede:

<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> 

io uso un RecyclerView per il contenuto sotto le schede. Io uso 3 diversi Fragments per il Activity.

Qui è la 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: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> 

E qui è uno dei miei Fragments:

<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> 

Come posso aggiungere l'intestazione sopra i comportamenti scorrimento normale TabLayout e mantenere?

+0

FrameLayout potrebbe essere utile perché è possibile posizionarlo ovunque sullo schermo. Quindi, un modo possibile per raggiungere questo obiettivo - Nessuna barra degli strumenti, e usare un framelayout e inserire tutto ciò che si desidera all'interno di esso, inclusi altri layout, posizionarlo dove si desidera e sotto di esso le tabelle – Tasos

+0

Solo la porzione di contenuto dello schermo è scorrevole con il proprio suggerimento. :/ – user5314557

+0

controlla questa libreria https://github.com/noties/Scrollable – orium

risposta

0

Hai solo bisogno di un RecyclerView per farlo. Unisci intestazione e tabLayout a una vista Intestazione, quindi aggiungi a RecyclerView.

Controllare https://github.com/u3breeze/android-RecyclerView-WithHeaderAndFooter. Ho fatto un'estensione di RecyclerView.Adapter. Facile aggiungere intestazione e piè di pagina a RecyclerView.

+0

Rileggi la mia domanda e guarda l'immagine fornita. Ciò che hai collegato non è quello che sto cercando. – user5314557