staggeredgridlayoutmanager recyclerview layoutmanager cardview android xml android-recyclerview

layoutmanager - recyclerview android



¿Cómo configurar la aplicación RecyclerView: layoutManager=“” desde XML? (4)

¿Cómo configurar RecyclerView layoutManager desde XML?

<android.support.v7.widget.RecyclerView app:layoutManager="???" android:layout_width="match_parent" android:layout_height="match_parent"/>


Como puedes consultar en el documento :

Nombre de clase del Layout Manager que se utilizará.

La clase debe extender android.support.v7.widget.RecyclerView $ LayoutManager y tener un constructor predeterminado o un constructor con la firma (android.content.Context, android.util.AttributeSet, int, int).

Si el nombre comienza con un ''.'', El paquete de la aplicación tiene el prefijo. De lo contrario, si el nombre contiene un ''.'', Se supone que el nombre de clase es un nombre de clase completo. De lo contrario, el nombre del paquete de la vista del reciclador (android.support.v7.widget) tiene el prefijo.

<android.support.v7.widget.RecyclerView xmlns:app="http://schemas.android.com/apk/res-auto" app:layoutManager="android.support.v7.widget.GridLayoutManager" >

Con androidx puedes usar:

<androidx.recyclerview.widget.RecyclerView xmlns:app="http://schemas.android.com/apk/res-auto" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager">


Los más comunes que uso son:

<androidx.recyclerview.widget.RecyclerView app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" tools:listitem="@layout/grid_item" android:orientation="vertical" app:spanCount="3"/>

Y:

<androidx.recyclerview.widget.RecyclerView app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:listitem="@layout/grid_item" android:orientation="vertical"/>

Se recomienda establecer listitem , para que vea cómo se vería en la vista previa del editor de diseño.

Sin embargo, si desea invertir el orden, creo que debe hacerlo en código y usar "herramientas" en XML si realmente quiere ver algo ...


Y vine aquí buscando la versión de androidx , aunque fue bastante fácil de entender, aquí está

LinearLayoutManager:

app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"

Ejemplo:

<androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>

GridLayoutManager:

app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"

Ejemplo:

<androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" app:spanCount="2" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"/>

Como puede ver en los ejemplos anteriores, puede controlar la orientación desde xml usando

android:orientation="vertical"

y

android:orientation="horizontal"

Y para establecer el número de columnas para GridLayoutManager usando

app:spanCount="2"


si quieres usarlo con LinearLayoutManager

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

eso equivalente a

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