Noi non sarà bisogno di alcuna libreria esterna per questo come RecyclerView nativo di Android rende l'implementazione di un layout di muratura Pinterest semplicemente modificando il Layout Manager di RecyclerView
mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
RecyclerAdapter adapter = new RecyclerAdapter(this);
mRecyclerView.setAdapter(adapter);
Freddo. è molto facile, ma il margine sul mio LinearLayout non sembra funzionare. Quindi ecco una soluzione rapida.
SpacesItemDecoration decoration = new SpacesItemDecoration(16);
mRecyclerView.addItemDecoration(decoration);
classe SpacesItemDecoration:
public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
private final int mSpace;
public SpacesItemDecoration(int space) {
this.mSpace = space;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left = mSpace;
outRect.right = mSpace;
outRect.bottom = mSpace;
// Add top margin only for the first item to avoid double space between items
if (parent.getChildAdapterPosition(view) == 0)
outRect.top = mSpace;
}
}
Github link of example
fonte
2017-08-19 07:37:44
Hai trovato la soluzione? –
La soluzione è che sto creando un componente AdapterView personalizzato. Condividerò il componente su github, quando sarà completato. – Matroska
Grazie, inserisci qui il tuo codice perfetto –