Когда я добавляю RecyclerView в макет, он отображается в виде списка в вертикальном порядке. Для этого я использую tools:listitem
. Есть ли способ, чтобы он отображался как сетка, но не как список в редакторе Android Studio?
Есть ли способ показать предварительный просмотр содержимого RecyclerView как Grid в редакторе Android Studio?
Ответ 1
Вы можете создать предварительный просмотр, используя пространство имен xmlns:tools="http://schemas.android.com/tools"
.
<!-- AndroidX -->
<androidx.recyclerview.widget.RecyclerView
tools:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
<!-- support -->
<android.support.v7.widget.RecyclerView
tools:layoutManager="android.support.v7.widget.GridLayoutManager"
<!-- common -->
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:itemCount="5"
tools:listitem="@layout/item"
tools:orientation="horizontal"
tools:scrollbars="horizontal"
tools:spanCount="2" />
Из Android studio 3.0
вы можете предварительно определить данные через tools:text
в item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
tools:text="@tools:sample/last_names"
tools:textColor="@android:color/white" />
В результате ваш предварительный просмотр будет выглядеть как
Подробнее здесь
Ответ 2
Если вы хотите увидеть эффект только в предпросмотре без изменения поведения приложения, вы можете использовать пространство имен "tools", как вы это делали с listitem:
<android.support.v7.widget.RecyclerView
android:id="@+id/rcv_collection"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layoutManager="android.support.v7.widget.GridLayoutManager"
tools:spanCount="2"
tools:listitem="@layout/item_collection"/>
Ответ 3
Чтобы отобразить список по горизонтали в режиме предварительного просмотра, просто используйте эти два атрибута
tools:orientation="horizontal"
tools:layoutManager="android.support.v7.widget.LinearLayoutManager"
здесь окончательный код
<android.support.v7.widget.RecyclerView
...
tools:listitem="@layout/single_item_layout"
tools:orientation="horizontal"
tools:layoutManager="android.support.v7.widget.LinearLayoutManager"/>
Ответ 4
Используйте
app:layoutManager="GridLayoutManager"
app:spanCount="3"
tools:listitem="@layout/table_grid_item"