创建RecyclerViews时何时使用CardViews vs tools:listitem?

时间:2018-11-01 07:28:34

标签: android user-interface android-recyclerview cardview

我遇到了以下代码:

  <android.support.v7.widget.RecyclerView
   android:id="@+id/recyclerview"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@android:color/darker_gray"
   tools:listitem="@layout/recyclerview_item" />

其中tools:listitem是布局文件:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/textView"
        style="@style/word_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_orange_light" />
</LinearLayout>

我的问题是,在创建回收站视图时,何时应选择Cardviews作为其项目,何时应选择上述布局? 一个相对于另一个提供的优点是什么,或者它们是相同的(请注意,recyclerview_item布局XML没有任何Cardview标签,因此它们在字面上并不完全相同)?

1 个答案:

答案 0 :(得分:1)

tools:listitem仅通过提供特定的布局资源(基于CardView的布局或其他布局)来设置列表项的设计时预览。

您可以将tools:listitem与其他tools属性和@tools/sample资源一起使用,以模拟组件的运行时或编译时行为,例如布局,虚拟数据,可见性等。

这些属性不会以任何方式影响应用程序的运行时行为。

此外,您可以阅读有关tools属性的this教程。

对于卡片与常规布局,有一些将卡片用作容器:卡片支持高程,阴影,圆角并具有一致的视觉样式,同时支持不同的内容长度,而无需执行其他操作。

个人而言,在需要以平台一致的方式显示具有简单布局的一些列表项的情况下,我会使用基于CardView的布局。