CardView的优缺点
Advantage and disadvantage of CardView
CardView
的优点和缺点是什么,除了阴影或高程之外,在性能和外观上有什么好处?使用 CardView
完成的操作也可以使用其他布局的组合来完成。
Cardview
的优势肯定是它默认实现了阴影和圆角,简单来说Cardview
就是一个带有阴影和圆角的FrameLayout。您可以用 Cardview
做几乎与用 Framelayout
做的相同的事情(因为 Cardview
扩展了 FrameLayout
)。 API>21 的 Cardview
使用高程 api 来设置阴影,而 API 21 以下的 API 则使用灰色背景填充来创建假阴影(类似于您正在谈论的自定义实现)。
Cardview
旨在在其内部保存单个子视图,并且很难在不相互重叠的情况下管理多个子视图,因为不支持 属性,例如 layout_below
、layout_torightof
等。为了克服这个问题,开发人员采取的方法是在 Cardview
中添加另一个 Relativelayout
来管理子视图,现在这会导致更多嵌套布局导致的资源消耗。
要处理复杂的布局,建议使用自定义视图,并且仅使用单个子视图使用 Cardview
。
简单说一下圆形边缘和阴影的开销:
如果您将 Framelayout 视为一块蛋糕,那么高度就像糖霜,而圆角边缘就像樱桃馅料。它的糖霜和浇头很美观,但你必须为糖霜和樱桃花额外的钱。
CardView
的优点和缺点是什么,除了阴影或高程之外,在性能和外观上有什么好处?使用 CardView
完成的操作也可以使用其他布局的组合来完成。
Cardview
的优势肯定是它默认实现了阴影和圆角,简单来说Cardview
就是一个带有阴影和圆角的FrameLayout。您可以用 Cardview
做几乎与用 Framelayout
做的相同的事情(因为 Cardview
扩展了 FrameLayout
)。 API>21 的 Cardview
使用高程 api 来设置阴影,而 API 21 以下的 API 则使用灰色背景填充来创建假阴影(类似于您正在谈论的自定义实现)。
Cardview
旨在在其内部保存单个子视图,并且很难在不相互重叠的情况下管理多个子视图,因为不支持 属性,例如 layout_below
、layout_torightof
等。为了克服这个问题,开发人员采取的方法是在 Cardview
中添加另一个 Relativelayout
来管理子视图,现在这会导致更多嵌套布局导致的资源消耗。
要处理复杂的布局,建议使用自定义视图,并且仅使用单个子视图使用 Cardview
。
简单说一下圆形边缘和阴影的开销: 如果您将 Framelayout 视为一块蛋糕,那么高度就像糖霜,而圆角边缘就像樱桃馅料。它的糖霜和浇头很美观,但你必须为糖霜和樱桃花额外的钱。