为什么使用CardView而不是RelativeLayout或LinearLayout?

san*_*eev 25 android android-layout android-cardview android-recyclerview

我有一个RecyclerView用于显示项目列表.Android有一个Android的CardView类来显示卡片布局.如果我使用RelativeLayout并将其背景设置为白色,则它的工作方式相同.同样在CardView的情况下,我必须添加一个childlayout,它基本上包含卡内的所有视图.所以我想知道它们是否有利于使用CardView(实际上增加了视图的层次结构)而不是直接使用普通的布局.

sta*_*an0 19

卡片在布局上有一些优点,包括:

  • 圆角,立面等 - 通过使用卡片"开箱即用"的视觉改进
  • 它们支持各种长度的内容.实际上布局也支持,但在列表/网格视图的上下文中,它们的大小相同,而卡的长度可能不同(例如,当您显示注释或描述时)
  • 同一层次结构级别的卡片可以具有不同类型的内容/视图,而不像布局(列表/网格项目),当您显示集合时,它们应具有相似的布局

所有这些和其他功能都可以在卡的设计指南中找到.

简而言之:

  • 当我想要显示可能具有不同长度/高度的项目集合时,我会使用卡片,具体取决于其内容(如带有描述和评论的图片)或大量补充操作.
  • 当我想要显示一个简单的项目集合时,我会使用相对/线性布局,所有项目/大部分都具有相同的布局和有限数量(最多1,2行)的文本,图标和动作等.所有项目都相同的元素


cap*_*wag 4

CardView 是 google 设计 RecyclerView 的方式。您始终可以使用RelativeLayout 或任何其他首选方法。

\n\n

根据Google的设计指南,CardView的定义是

\n\n
\n

卡片是显示由不同元素组成的内容的便捷方式。它们\xe2\x80\x99也非常适合展示大小或支持的操作不同的元素,例如带有可变长度标题的照片。

\n
\n\n

使用 CardView,您可以在整个应用程序中获得默认的 Google 外观。您可以根据需要自定义卡片视图。这就是为什么你需要在 CardView 中有子布局。另外,材料设计就是关于高度、颜色和动画。CardView 可以以相对简单的方式拥有所有这些。

\n\n

如果您能浏览一下Google 关于 CardView 的设计指南,那就太好了。

\n