Gibt es eine Möglichkeit, eine Vorschau des Inhalts eines RecyclerView im Android Studio-Editor anzuzeigen?

295

Wenn ich RecyclerView zum Layout hinzufüge, wird es als leerer Bildschirm angezeigt. Gibt es eine Möglichkeit, beispielsweise über den toolsNamespace, eine Vorschau des Inhalts von RecyclerView anzuzeigen?

nclarkclt
quelle

Antworten:

642

@oRRs ist richtig!

Ich verwende Android Studio 1.4 RC2 und Sie können jetzt jedes benutzerdefinierte Layout angeben.

Ich habe ein benutzerdefiniertes CardView ausprobiert und es funktioniert.

tools:listitem="@android:layout/simple_list_item_checked"
Philippe David
quelle
1
Siehe @oRRs Kommentar: tools: listitem = "@ android: layout / simple_list_item_checked"
Philippe David
2
Gibt es eine Möglichkeit zur Vorschau im Rastermodus?
27
@sajad versuchen Sie diese App: layoutManager = "GridLayoutManager" tools: listitem = "@ layout / layout_list_item_select_seat" app: spanCount = "5"
atabouraya
4
Wenn Sie auch die Ausrichtung horizontal einstellen möchten, können Sie:tools:orientation="horizontal"
Android-Entwickler
3
Zusätzlich zur Angabe tools:orientation="horizontal"oder android:orientation="horizontal"ich musste auch app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"gemäß stackoverflow.com/questions/35681433/…
Michael Osofsky
136

tools Der Namespace ermöglicht Entwurfszeitfunktionen (z. B. welches Layout in einem Fragment angezeigt werden soll) oder Verhaltensweisen zur Kompilierungszeit (z. B. welcher Verkleinerungsmodus auf Ihre XML-Ressourcen angewendet werden soll). Es handelt sich um eine wirklich leistungsstarke Funktion, die sich entwickelt und es Ihnen ermöglicht, nicht jeden Code zu kompilieren Zeit, Änderungen zu sehen

AndroidX [About] und 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 und 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" />

Eine weitere coole Funktion, die in eingeführt wurde, Android studio 3.0ist die Vordefinition von Daten über die Tools-Attribute, um Ihre Layoutstruktur mithilfe von Ressourcen einfach zu visualisieren@tools:sample/*

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>

Ergebnisse:

yoAlex5
quelle
2
Dies sollte als Antwort markiert werden, da es detailliert und mit RecylerView kompatibel ist. ListViews werden heutzutage überhaupt nicht mehr verwendet.
Abhinav Saxena
Ich musste zu weniger Attributregistern im Attributbereich wechseln, um die listitemOption sehen zu können. Ich konnte sie einfach in den XML-Code eingeben!
George Udosen
1
Wenn Sie Ihr eigenes Listenelementlayout verwenden und nur ein (1) Listenelement sehen, überprüfen Sie, ob layout_height = "wrap_content" in Ihrem Layout enthalten ist.
Jeffrey
1
Interessanterweise funktioniert es bei mir nur, wenn ich ListView verwende, aber nicht mit einem RecyclerView. Irgendwelche Ideen? Ich habe eingefügt, um sicherzugehen, dass ich mit meinem RecyclerView nichts falsch gemacht habe. Aber tatsächlich funktioniert es, also ist es ein gültiges XML.
Xarlymg89
"@tools: sample / *" ist ein Platzhalter-Android-Ressourcentyp für Platzhalterdaten, die Sie in Ihre Layouts einfügen können. last_names - Allgemeine Nachnamen. Das vollständige offizielle Dokument - developer.android.com/studio/write/…
yoAlex5
4

Fügen Sie zunächst die folgende Zeile in Ihr Artikel-XML ein, um eine Vorschau Ihrer Liste zu erstellen, während Sie Ihren Artikel bearbeiten:

tools:showIn="@layout/activity_my_recyclerview_item"

Fügen Sie dann die folgende Zeile in Ihr RecyclerView-XML ein, um eine Vorschau des Elements Ihres Elements in Ihrer Liste anzuzeigen:

tools:listitem="@layout/adapter_item"
Engelo Polotto
quelle
3

Ab Android Studio 1.3.1 werden Standardlistenelemente in der Vorschau angezeigt, aber Sie können noch keine eigenen angeben. Hoffentlich kommt es.

Gábor
quelle
19
In AS 1.4 können Sie aus einigen vordefinierten Layouts auswählen, z. B.: Tools: listitem = "@ android: layout / simple_list_item_checked". Klicken Sie einfach mit der rechten Maustaste auf die RecyclerView im Layout-Editor und wählen Sie "Vorschau des Listeninhalts". Leider können Sie es immer noch nicht für Ihre eigenen Layouts verwenden, zumindest für mich wirft es einen Renderfehler auf.
ORRs