CardView的优缺点

Advantage and disadvantage of CardView

CardView的优点和缺点是什么,除了阴影或高程之外,在性能和外观上有什么好处?使用 CardView 完成的操作也可以使用其他布局的组合来完成。

Cardview的优势肯定是它默认实现了阴影和圆角,简单来说Cardview就是一个带有阴影和圆角的FrameLayout。您可以用 Cardview 做几乎与用 Framelayout 做的相同的事情(因为 Cardview 扩展了 FrameLayout)。 API>21 的 Cardview 使用高程 api 来设置阴影,而 API 21 以下的 API 则使用灰色背景填充来创建假阴影(类似于您正在谈论的自定义实现)。

Cardview 旨在在其内部保存单个子视图,并且很难在不相互重叠的情况下管理多个子视图,因为不支持 属性,例如 layout_belowlayout_torightof 等。为了克服这个问题,开发人员采取的方法是在 Cardview 中添加另一个 Relativelayout 来管理子视图,现在这会导致更多嵌套布局导致的资源消耗。

要处理复杂的布局,建议使用自定义视图,并且仅使用单个子视图使用 Cardview

简单说一下圆形边缘和阴影的开销: 如果您将 Framelayout 视为一块蛋糕,那么高度就像糖霜,而圆角边缘就像樱桃馅料。它的糖霜和浇头很美观,但你必须为糖霜和樱桃花额外的钱。