一、简介
Material design 中有一种很个性的设计概念:卡片式设计(Cards),这种设计与传统的List Item 有所区别,Cards 包含更多的内容元素和拥有自己的 UI 特征,关于 Cards 的设计规范可以参考官网介绍:
https://material.google.com/components/cards.html#
为了更好地实现这种 Cards UI 的设计,Google在v7 包中引进了一种全新的控件:CardVew。用一句话介绍了 CardView:一个带圆角和阴影背景的 FrameLayout。CardView在Android Lollipop(API 21)及以上版本的系统中适配较好。
二、导入依赖
compile 'com.android.support:cardview-v7:版本'
三、常用属性
1. API 5 以上(Android 2.0)
1.1 app:cardConerRadius: 圆角的半径
1.2 app:cardBackgroundColor:CardView 的卡片颜色
2. API 21 以上(Android 5.0)
2.1 app:cardElevation:CardView 的 Z 轴阴影
2.2 app:cardMaxElevation:阴影的最大高度
2.3 android:foreground="?android:attr/selectableItemBackground":点击时有波纹发散效果
四、排版技巧
CardView 从本质上属于 FrameLayout,而 CardView 通常包含了较多的内容元素,为了方 便 地 排 版 布 局 中 的 各 个 元 素 , 一 般 借 助 于 其 他 基 本 布 局 容 器 , 比 如 使 用 了 一个RelativeLayout 作为 CardView 的唯一子布局。