本篇文章主要介绍了"Android CardView 开发过程中要注意的细节",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下:
2014 年,随着 Google 推出了全新的设计语言 Material Design,还迎来了新的 Android 支持库 v7,其中就包含了 Materia...
上面曾提到过一个概念:Z 轴位移,即决定元素层次的深度,与 Elevation 大小相加构成实际显示的阴影深度。
在 Material Design Guidelines 中有建议卡片、按钮这类元素触摸时应当有一个浮起的效果,也就是增大 Z 轴位移(设计缘由可以参照 NovaDNG 在知乎的回答: http://www.zhihu.com/question/27494839/answer/36865959 )

要实现这个效果并不难,我们只需要借助 Lollipop 的一个新属性android:stateListAnimator(PS:这也意味着这个方法不可以用于旧版本系统QAQ)
首先,创建一个 TranslationZ 的变换动画放在 /res/anim,自己取一个名(如 touch_raise.xml),加入以下内容:
-
-
然后为你需要添加效果的 CardView(其他 View 同理)所在的 Layout XML 复制多一份到 /res/layout-v21,然后在新的那份 XML 的 CardView 中加入属性android:stateListAnimator=”@anim/touch_raise”。
这样,你的卡片按住时就会有浮起(阴影加深)的效果了。
◆ 尽量不要用作固定高度的 List Item
除了横向滚动列表和类似 Google Play 音乐中的带封面图片卡片 Item,其他地方应该尽量避免做固定高度的卡片。举一个错误例子,我之前写的快递查询应用「水表助手」,快递卡片就是用了固定宽度(误人子弟系列QAQ)

不需要用卡片的地方也不应该使用,滥用只会让用户更快地厌倦你的界面设计。

(这个是复制自官方的 错误 范例)
◆ 低版本(低于 Lollipop)的 setElevation 不是万能的