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);