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


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"

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:


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"

3

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.