Android Aggiunta di una vista Recycler


Esempio

Aggiungi la dipendenza come descritto nella sezione Note, quindi aggiungi una RecyclerView al tuo layout:

<android.support.v7.widget.RecyclerView
    android:id="@+id/my_recycler_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Dopo aver aggiunto un widget RecyclerView al layout, ottenere un handle per l'oggetto, collegarlo a un gestore di layout e collegare un adattatore per i dati da visualizzare:

mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);

// set a layout manager (LinearLayoutManager in this example)

mLayoutManager = new LinearLayoutManager(getApplicationContext());
mRecyclerView.setLayoutManager(mLayoutManager);

// specify an adapter
mAdapter = new MyAdapter(myDataset);
mRecyclerView.setAdapter(mAdapter);

O semplicemente imposta il layout manager da xml aggiungendo queste righe:

xmlns:app="http://schemas.android.com/apk/res-auto"
app:layoutManager="android.support.v7.widget.LinearLayoutManager"

Se si è certi che le modifiche apportate al contenuto di RecyclerView non modificheranno le dimensioni del layout di RecyclerView , utilizzare il codice seguente per migliorare le prestazioni del componente. Se RecyclerView ha una dimensione fissa, sa che RecyclerView non verrà ridimensionato a causa dei suoi figli, quindi non chiama affatto il layout della richiesta. Gestisce solo il cambiamento stesso. Se invalidante qualunque sia il genitore, il coordinatore, il layout o qualsiasi altra cosa. (puoi utilizzare questo metodo anche prima di impostare LayoutManager e Adapter ):

mRecyclerView.setHasFixedSize(true);

RecyclerView fornisce questi gestori di layout integrati da utilizzare. Quindi puoi creare un elenco, una griglia e una griglia sfalsata utilizzando RecyclerView :

  1. LinearLayoutManager mostra gli oggetti in una lista a scorrimento verticale o orizzontale.
  2. GridLayoutManager mostra gli oggetti in una griglia.
  3. StaggeredGridLayoutManager mostra gli oggetti in una griglia sfalsata.