【问题标题】:Advantage and disadvantage of CardViewCardView的优缺点
【发布时间】:2015-05-01 21:58:25
【问题描述】:

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

【问题讨论】:

  • CardView 和 ListView 除了阴影和圆角之外没有区别。您可以在列表视图中做任何可以在卡片视图中完成的事情

标签: android performance android-layout android-widget android-cardview


【解决方案1】:

Cardview的优势绝对是它默认实现了阴影和圆角,简单来说Cardview就是一个带阴影和圆角的FrameLayout。你可以用Cardview 做几乎相同的事情,你可以用Framelayout 做同样的事情(如Cardview 扩展FrameLayout)。 API>21 的 Cardview 使用海拔 api 来设置阴影,而对于 API 21 以下,它添加了一个灰色背景的填充来创建假阴影(就像您正在谈论的自定义实现一样)。

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

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

简单地把圆角边缘和阴影的开销: 如果您将 Framelayout 视为蛋糕,那么高程就像糖霜,而圆形边缘就像樱桃浇头。糖衣和浇头的美感,但你必须为糖衣和樱桃花额外的钱。

【讨论】:

  • 所以,你的意思是CardView只有在用于Api>21时才有用。对于 ApiFrameLayout 相同。
  • @MohammedAli 不,对于 API
  • @Psypher 请也回答这个问题:stackoverflow.com/questions/36393540/…
  • FWIW,我分析了最新的 androidx CardView,并与使用 FrameLayout 进行了比较。性能配置文件看起来相同。那里必须有一些命中才能渲染阴影,但我找不到它。
猜你喜欢
  • 1970-01-01
  • 2013-04-07
  • 2010-09-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2012-01-18
  • 2011-04-05
相关资源
最近更新 更多