2015-12-23 16 views
9

Mi rendo conto che quanto segue è errato ma suppongo che tu possa trattarlo come pseudocodice. Mi chiedo, come posso "allegare" un intero layout al mio RecyclerView in modo che quando scorrono verso il basso il layout scorre fuori dalla vista insieme ad esso. Attualmente il TextView sopra RecyclerView è fisso sullo schermo, mentre tutti i dati nel mio RecyclerView sono scorrevoli. Voglio che il TextView si sposti automaticamente mentre l'utente scorre la pagina verso il basso. Se guardi su Instagram, tutte le informazioni del profilo utente nella parte superiore della tua galleria scompaiono mentre scorri la pagina verso il basso. Come posso fare questo? Come posso aggiungere TextView in modo programmatico?Collega TextView a RecyclerView

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:text="Hello!" /> 

<android.support.v7.widget.RecyclerView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_marginBottom="?android:attr/actionBarSize" 
    android:padding="@dimen/item_margin" 
    android:id="@+id/recycler_view" 
    android:clipToPadding="false"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:text="Hello!" /> 

</android.support.v7.widget.RecyclerView> 
+1

provare in questo modo: https://github.com/chrisbanes/cheesesquare –

+1

Possibile duplicato del [intestazione e piè di pagina RecyclerView] (http://stackoverflow.com/questions/26585941/recyclerview-header-and- piè di pagina) – starkshang

+0

https://github.com/blipinsk/RecyclerViewHeader –

risposta

6

Si può aggiungere che TextView come uno degli elementi s' il RecyclerView utilizzando una consuetudine RecyclerAdapter oppure si potrebbe utilizzare un ScrollView con LinearLayout come il suo contenuto, invece di un RecyclerView in quanto non è consigliabile usare uno all'interno di un ScrollView .

+0

Vedo ... Non voglio davvero passare da RecyclerView poiché sono già profondamente radicato in esso e sembra più performante per i miei scopi. Suppongo che cercherò di aggiungere TextView in modo programmatico. – santafebound

+0

@bluemunch che sarebbe sicuramente molto efficiente. –

0

One possib le soluzione: Puoi trattare il tuo TextView come uno degli elementi di RecyclerView ma avrà un aspetto diverso.

@Override 
public int getItemViewType(int position) { 
    if (position == 0) { 
     return HEADER; 
    } else { 
     return NORMAL_ITEM; 
    } 
} 

@Override 
public StandardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    if (viewType == HEADER) { 
     //inflate your textview layout header. Create a viewholder     //for it 
    } else { 
     // inflate normal layour 
    } 
} 

@Override 
public void onBindViewHolder(final ViewHolder holder, final int position) { 
    if (getItemViewType(position) == HEADER) { 
     // BIND header View 
    } else { 
     //BIND NormalView 
    } 
}