2015-12-23 22 views
9

Ich weiß, das Folgende ist falsch, aber ich nehme an, Sie können es als Pseudocode behandeln. Ich frage mich, wie ich ein komplettes Layout an meinen RecyclerView "anhängen" kann, so dass das Layout beim Scrollen zusammen mit dem Scroll sichtbar wird. Derzeit ist der TextView über dem RecyclerView auf dem Bildschirm fixiert, während alle Daten in meinem RecyclerView scrollbar sind. Ich möchte, dass sich die Textansicht außer Sichtweite befindet, wenn der Benutzer die Seite herunterscrollt. Wenn Sie sich Instagram ansehen, werden alle Benutzerprofilinformationen oben in der Galerie beim Scrollen auf der Seite ausgeblendet. Wie kann ich das machen? Wie kann ich TextView programmatisch hinzufügen?TextView an RecyclerView anhängen

<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

versuchen auf diese Weise: https://github.com/chrisbanes/cheesesquare –

+1

Mögliche Duplikat [RecyclerView Kopf- und Fußzeile] (http://stackoverflow.com/questions/26585941/recyclerview-header-and- footer) – starkshang

+0

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

Antwort

6

können Sie fügen hinzu, dass TextView als einer der RecyclerView ‚s Artikel mit einem benutzerdefinierten RecyclerAdapter oder Sie können eine ScrollView mit LinearLayout als Inhalt, statt eines RecyclerView verwenden, da es nicht ratsam ist, eine innerhalb einer ScrollView zu verwenden .

+0

Ich sehe ... ich möchte wirklich nicht von RecyclerView wechseln, da ich bereits tief darin versenkt bin und es für meine Zwecke leistungsfähiger scheint. Ich denke, ich werde das TextView programmatisch hinzufügen. – santafebound

+0

@bluemunch das wäre auf jeden Fall sehr effizient. –

0

One possib Lösung: Sie könnten Ihr TextView als eines der RecyclerView-Elemente behandeln, aber es wird ein anderes Aussehen haben.

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