Чи є спосіб показати попередній перегляд вмісту RecyclerView в редакторі Android Studio?


296

Коли я додаю RecyclerView до макета, він відображається як порожній екран. Чи існує спосіб, наприклад, через toolsпростір імен, показати попередній перегляд вмісту RecyclerView?

Відповіді:


642

@oRRs правильно!

Я використовую Android Studio 1.4 RC2, і тепер ви можете вказати будь-яку власну компоновку.

Я спробував користувальницький CardView, і він працює.

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

1
Дивіться коментар @oRRs: tools: listitem = "@ android: layout / simple_list_item_ prove"
— Філіп Девід

2
чи є спосіб попереднього перегляду в режимі сітки?

27
@sajad спробуйте це додаток: layoutManager = "GridLayoutManager" інструменти: listitem = "@ layout / layout_list_item_select_seat" app: spanCount = "5"
— atabouraya

4
Якщо ви також хочете встановити орієнтацію на горизонтальну, ви можете:tools:orientation="horizontal"
— андроїд розробник

3
На додаток до специфікації tools:orientation="horizontal"або android:orientation="horizontal"я також повинен був вказати , app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"як на stackoverflow.com/questions/35681433 / ...
— Michael Osofsky

137

tools Простір імен дає можливість функціонувати в часі дизайну (наприклад, який макет відображати у фрагменті) або поведінку часу компіляції (наприклад, який скорочувальний режим застосовувати до ваших XML-ресурсів) Це дійсно потужна функція, яка розвивається і дозволяє не компілювати код кожен час побачити зміни

AndroidX [Про] та 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"/>

Підтримка та 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" />

Ще одна цікава функція, яка була введена в, Android studio 3.0- це попередньо визначити дані за допомогою атрибутів інструментів, щоб легко візуалізувати структуру макета за допомогою @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>

Результати:


2
Це слід позначити як відповідь, оскільки воно детальне та сумісне з RecylerView. Список ListView зараз не використовується.
— Абхінав Саксена

Мені довелося перейти на меншу вкладку атрибутів в області атрибутів, щоб мати можливість бачити listitemпараметр, я міг просто просто ввести його в код xml!
— Джордж Удосен

1
Якщо ви використовуєте свій власний макет елемента списку, і ви бачите лише один (1) елемент списку, перевірте, що layout_height = "wrap_content" у вашому макеті.
— Джеффрі

1
Між іншим, він працює для мене лише в тому випадку, якщо я використовую ListView, але не з RecyclerView. Будь-які ідеї¿? Я копіюю вставлені, щоб бути впевненим, що я не зіпсував речі зі своїм RecyclerView. Але насправді це працює, тому це дійсний XML.
— xarlymg89

"@tools: sample / *" - це тип резервуара, який ви можете вводити у свої макети. last_names - Загальні прізвища. Повний офіційний документ - developer.android.com/studio/write/…
— yoAlex5

4

По-перше, додайте наступний рядок у свій XML-елемент, щоб зробити попередній перелік свого списку під час редагування.

tools:showIn="@layout/activity_my_recyclerview_item"

І додайте наступний рядок у своєму RecyclerView XML, щоб переглянути, як ваш товар буде виглядати у вашому списку:

tools:listitem="@layout/adapter_item"

3

На Android Studio 1.3.1 він відображає елементи списку за замовчуванням у попередньому перегляді, але він ще не дозволяє вказати свій власний. Сподіваємось, воно прийде.


19
У AS 1.4 ви можете вибрати з декількох заздалегідь визначених макетів, наприклад: інструменти: listitem = "@ android: layout / simple_list_item_ checked". Просто натисніть RecyclerView правою кнопкою миші в редакторі макетів та виберіть "Попередній перегляд вмісту списку". На жаль, ви все ще не можете використовувати його для власних макетів, принаймні для мене це викид помилки візуалізації.
— oRRs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.