快速讲解CardView的使用

CardView和RecyclerView一样是Android5.0以后新出现的控件,伴随着Material Design设计而诞生。

一、引入CardView

在AS新建项目中需要使用CardView组件,和RecyclerView一样,需要在Gradle里面提前加入CardView的

包,直接在Gradle中加入:

compile ‘com.android.support:cardview-v7:25.3.1’(CardView版本号与项目里面V7版本号相同即可)

或者在Library dependence中输入CardView,选择V7包下那个即可。

二、为何使用CardView

CardView是继承自FramLayout的一个布局控件,官网里对CardView的注释为:

A FrameLayout with a rounded corner background and shadow.(CardView为带圆角和阴影的FramLayout)

以往,我们需要自定义Shape来实现圆角和阴影效果;现在,这些效果集成到了CardView的属性里。同时,

CardView应该被使用在显示层次性的内容时,在显示列表或网格时更应该被选择,因为这些边缘可以使得用户

更容易去区分这些内容。

三、CardView属性

app:cardBackgroundColor      设置背景颜色

app:cardCornerRadius         设置圆角大小

app:cardElevation            设置z轴阴影高度

app:cardMaxElevation         设置z轴*大高度值

app:contentPadding           内容与边距的间隔

app:contentPaddingLeft       内容与左边的间隔

app:contentPaddingTop        内容与顶部的间隔

app:contentPaddingRight      内容与右边的间隔

app:contentPaddingBottom     内容与底部的间隔

app:paddingStart             内容与边距的间隔起始

app:paddingEnd               内容与边距的间隔终止

app:cardUseCompatPadding     设置内边距,在API21及以上版本和之前的版本仍旧具有一样的计算方式

app:cardPreventConrerOverlap 在API20及以下版本中添加内边距,这个属性为了防止内容和边角的重叠

注意:CardView中使用android:background设置背景颜色无效。

Ps:多说一句,有时候部分人为了突出这些属性是在CardView中使用的,会在CardView内重新命名属性名,

如:xmlns:card_view=”http://schemas.android.com/apk/res-auto”,那么app就会变成card_view,但是

直接使用app不影响什么,只是一个属性前缀名的变化。

四、点击CardView出现波纹(Ripple)效果

在CardView布局中加入:android:foreground=”?android:attr/selectableItemBackground”即可实现

点击CardView出现波纹效果。

 

友情链接:

CardView更多使用细节

http://www.open-open.com/lib/view/open1476847497671.html
————————————————