C'è un modo per mostrare un'anteprima dei contenuti di RecyclerView nell'editor di Android Studio?


Risposte:


642

@oRRs ha ragione!

Sto usando Android Studio 1.4 RC2 e ora puoi specificare qualsiasi layout personalizzato.

Ho provato un CardView personalizzato e funziona.

tools:listitem="@android:layout/simple_list_item_checked"

1
Vedi il commento di @oRR: tools: listitem = "@ android: layout / simple_list_item_checked"
Philippe David,

2
c'è un modo per visualizzare l'anteprima in modalità griglia?

27
@sajad prova questa app: layoutManager = Strumenti "GridLayoutManager": listitem = "@ layout / layout_list_item_select_seat" app: spanCount = "5"
atabouraya

4
Se desideri anche impostare l'orientamento in orizzontale, puoi:tools:orientation="horizontal"
sviluppatore Android

3
Oltre a specificare tools:orientation="horizontal"o android:orientation="horizontal"ho dovuto anche specificare app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"come da stackoverflow.com/questions/35681433/...
Michael Osofsky

136

tools lo spazio dei nomi abilita funzionalità in fase di progettazione (come quale layout mostrare in un frammento) o comportamenti in fase di compilazione (come quale modalità di riduzione da applicare alle risorse XML) È una funzionalità davvero potente che si sta sviluppando e consente di non compilare il codice ogni tempo di vedere i cambiamenti

AndroidX [Informazioni] e 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"/>

Support e 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" />

Un'altra caratteristica interessante introdotta in Android studio 3.0è la predefinizione dei dati attraverso gli attributi degli strumenti, per visualizzare facilmente la struttura del layout utilizzando le @tools:sample/*risorse

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>

risultati:


2
Questo dovrebbe essere contrassegnato come risposta, in quanto è dettagliato e compatibile con RecylerView. Oggigiorno ListView non viene utilizzato affatto.
Abhinav Saxena,

Ho dovuto passare a un numero inferiore di schede degli attributi nell'area degli attributi per poter vedere l' listitemopzione, potrei semplicemente digitarlo nel codice XML!
George Udosen,

1
Se stai utilizzando il tuo layout di elemento di elenco e visualizzi solo un (1) elemento di elenco, verifica che layout_height = "wrap_content" sul layout.
Jeffrey,

1
Interistantamente, funziona solo per me se uso ListView ma non con RecyclerView. Qualche idea? Copio incollato per essere sicuro che non stavo rovinando le cose con il mio RecyclerView. Ma in realtà funziona, quindi è un XML valido.
xarlymg89,

"@tools: sample / *" è un tipo di risorsa Android reserver di dati segnaposto che puoi inserire nei tuoi layout. last_names: cognomi comuni. Il documento ufficiale completo - developer.android.com/studio/write/…
yoAlex5

4

Innanzitutto, aggiungi la seguente riga nel tuo XML dell'oggetto per creare un'anteprima del tuo elenco mentre modifichi l'articolo:

tools:showIn="@layout/activity_my_recyclerview_item"

E loro, aggiungi la seguente riga nel tuo XML RecyclerView per vedere in anteprima come apparirà il tuo articolo nel tuo elenco:

tools:listitem="@layout/adapter_item"

3

A partire da Android Studio 1.3.1 mostra elementi di elenco predefiniti nell'anteprima ma non consente di specificare i propri. Speriamo che arriverà.


19
In AS 1.4 puoi scegliere tra alcuni layout predefiniti, ad esempio: tools: listitem = "@ android: layout / simple_list_item_checked". Fai clic con il tasto destro del mouse su RecyclerView nell'editor di layout e scegli "Anteprima contenuto elenco". Sfortunatamente, non puoi ancora usarlo per i tuoi layout, almeno per me sta generando un errore di rendering.
ORS
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.