2015-12-23 20 views
9

Zdaję sobie sprawę, następujące jest niepoprawne, ale przypuszczam, można traktować go jako pseudokod. Zastanawiam się, w jaki sposób mogę "dołączyć" cały układ do mojego RecyclerView, aby po przewinięciu układ znikał wraz z nim. Obecnie TextView powyżej RecyclerView jest ustalany na ekranie, podczas gdy wszystkie dane w moim RecyclerView można przewijać. Chcę, aby obiekt TextView zniknął z pola widzenia, gdy użytkownik przewija stronę w dół. Jeśli spojrzysz na Instagram, wszystkie informacje o profilu użytkownika u góry twojej galerii znikają podczas przewijania strony. Jak mogę to zrobić? Jak mogę programowo dodać program TextView?Dołącz TextView do 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

spróbować w ten sposób: https://github.com/chrisbanes/cheesesquare –

+1

Możliwy duplikat [nagłówka i stopki RecyclerView] (http://stackoverflow.com/questions/26585941/recyclerview-header-and- stopka) – starkshang

+0

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

Odpowiedz

6

Można dodać, że TextView jako jeden z elementów, do których RecyclerView „s przy użyciu niestandardowego RecyclerAdapter lub można użyć ScrollView z LinearLayout jak jego treści, zamiast RecyclerView jak to nie jest wskazane, aby użyć jednego Wewnątrz ScrollView .

+0

Widzę ... Naprawdę nie chcę zmieniać się z RecyclerView, ponieważ jestem już głęboko w nim zakorzeniony i wydaje się bardziej wydajny dla moich celów. Przypuszczam, że zajrzę do programu TextView dodając programowo. – santafebound

+0

@bluemunch, który byłby zdecydowanie skuteczniejszy. –

0

Jeden possib le solution: Możesz traktować swój TextView jako jeden z elementów RecyclerView, ale będzie miał inny wygląd.

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