有一种方法来显示一个RecyclerView's内容的预览在Android工作室编辑器?

当我将RecyclerView添加到布局中时,它显示为一个空白屏幕。是否有一种方法,例如通过tools命名空间,来显示RecyclerView内容的预览?

100410 次浏览

从Android Studio 1.3.1开始,它会在预览中显示默认的列表项,但还不能让你自己指定。希望它会到来。

@oRRs是对的!

我使用Android Studio 1.4 RC2,你现在可以指定任何自定义布局。

我尝试了一个自定义CardView,它工作。

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

Android工具和LayoutManager

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属性预定义数据,以便使用@tools:sample/*资源轻松可视化布局结构

<?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>

模拟结果:

首先,在你的项目XML中添加以下一行,在你编辑项目时预览你的列表:

tools:showIn="@layout/activity_my_recyclerview_item"

然后,在你的RecyclerView XML中添加以下一行来预览你的项目将如何在你的列表中显示:

tools:listitem="@layout/adapter_item"

如果你已经有了custom_item布局:

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
...
...
**tools:listitem="@layout/name_of_your_custom_item_view"**
...>
</androidx.recyclerview.widget.RecyclerView>