¿Hay alguna manera de mostrar una vista previa de los contenidos de un RecyclerView en el editor de Android Studio?

Respuestas:

642

@oRRs tiene razón!

Estoy usando Android Studio 1.4 RC2 y ahora puede especificar cualquier diseño personalizado.

Intenté un CardView personalizado y funciona.

tools:listitem="@android:layout/simple_list_item_checked"
Philippe David
fuente
1
Vea el comentario de @oRR: herramientas: listitem = "@ android: layout / simple_list_item_checked"
Philippe David el
2
¿Hay alguna forma de vista previa en modo de cuadrícula?
27
@sajad prueba esta aplicación: layoutManager = herramientas "GridLayoutManager": listitem = "@ layout / layout_list_item_select_seat" aplicación: spanCount = "5"
atabouraya
44
Si también desea configurar la orientación para que sea horizontal, puede:tools:orientation="horizontal"
Desarrollador de Android
3
Además de especificar tools:orientation="horizontal"o android:orientation="horizontal"también tuve que especificar app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"según stackoverflow.com/questions/35681433/…
Michael Osofsky
136

tools el espacio de nombres permite características en tiempo de diseño (como qué diseño mostrar en un fragmento) o comportamientos en tiempo de compilación (como qué modo de reducción para aplicar a sus recursos XML) Es una característica realmente poderosa que se está desarrollando y le permite no compilar código cada vez hora de ver cambios

AndroidX [Acerca de] y GridLayoutManager

implementation 'androidx.recyclerview:recyclerview:1.1.0'
<androidx.recyclerview.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
    tools:listitem="@layout/item"
    tools:itemCount="10"
    tools:orientation="vertical"
    tools:scrollbars="vertical"
    tools:spanCount="3"/>

Soporte y LinearLayoutManager

implementation 'com.android.support:recyclerview-v7:28.0.0'

<android.support.v7.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    tools:layoutManager="android.support.v7.widget.LinearLayoutManager"
    tools:listitem="@layout/item"
    tools:itemCount="3"
    tools:orientation="horizontal"
    tools:scrollbars="horizontal" />

Otra característica interesante que se introdujo Android studio 3.0es predefinir datos a través de los atributos de las herramientas, para visualizar fácilmente su estructura de diseño utilizando @tools:sample/*recursos

item.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="100dp"
    android:layout_height="150dp"
    android:layout_marginRight="15dp"
    android:layout_marginBottom="10dp"
    android:orientation="vertical"
    tools:background="@tools:sample/backgrounds/scenic">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/colorWhite"
        tools:text="@tools:sample/first_names" />

</FrameLayout>

Resultados:

yoAlex5
fuente
2
Esto debe marcarse como respuesta, ya que es detallado y compatible con RecylerView. ListViews no se utilizan en absoluto hoy en día.
Abhinav Saxena
Tuve que cambiar a menos pestaña de atributos en el área de atributos para poder ver la listitemopción, ¡simplemente podría escribirla en el código xml!
George Udosen
1
Si está utilizando su propio diseño de elemento de lista y solo está viendo un (1) elemento de lista, compruebe que layout_height = "wrap_content" en su diseño.
Jeffrey
1
De manera intermitente, solo funciona para mí si uso ListView pero no con un RecyclerView. ¿Algunas ideas? Copio pegado para asegurarme de que no estaba estropeando las cosas con mi RecyclerView. Pero en realidad funciona, por lo que es un XML válido.
xarlymg89
"@tools: sample / *" es un tipo de recurso de Android de reserva de datos de marcador de posición que puede inyectar en sus diseños. last_names: apellidos comunes. El documento oficial completo - developer.android.com/studio/write/…
yoAlex5
4

Primero, agregue la siguiente línea en el XML de su artículo para obtener una vista previa de su lista mientras edita su artículo:

tools:showIn="@layout/activity_my_recyclerview_item"

Y a ellos, agregue la siguiente línea en su XML RecyclerView para obtener una vista previa de cómo se verá su artículo en su lista:

tools:listitem="@layout/adapter_item"
Ângelo Polotto
fuente
3

A partir de Android Studio 1.3.1, muestra elementos de lista predeterminados en la vista previa, pero aún no le permite especificar los suyos. Con suerte, vendrá.

Gábor
fuente
19
En AS 1.4 puede seleccionar entre algunos diseños predefinidos, por ejemplo: herramientas: listitem = "@ android: layout / simple_list_item_checked". Simplemente haga clic con el botón derecho en RecyclerView en el editor de diseño y elija "Vista previa del contenido de la lista". Desafortunadamente, aún no puede usarlo para sus propios diseños, al menos para mí arroja un error de representación.
ORRs