简介:ardView继承自FrameLayout,它是一个带圆角背景和阴影的FrameLayout

一些什么实现方式就不赘述了,直接上用法

CardView的常用属性

  1、设置背景颜色 

app:cardBackgroundColor=" "

2、设置padding

app:contentPadding=" "
app:contentPaddingTop=" "
app:contentPaddingBottom=" "
app:contentPaddingLeft=" "
app:contentPaddingRight=" "


注意啊:上面是CardView设置背景颜色和padding的方式,如果你直接通过android:padding=" " 和android:background=" "设置,是无效的

3、设置Z轴的最大高度

app:cardMaxElevation=" "

4、点击之后的涟漪效果

android:clickable="true"
android:foreground="android:attr/selectableItemBackground"

注意:如果你给CardView设置了点击事件,就不需要设置android:clickable="true"了

5.设置CardView的圆角半径

app:cardCornerRadius =""

6设置CardView的前景

android:foreground =""

7设置内边距

app:contentPadding ="

例如在项目中的用法



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
... >
<!-- A CardView that contains a TextView -->
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
card_view:cardCornerRadius="4dp">

<TextView
android:id="@+id/info_text"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v7.widget.CardView>
</LinearLayout>



总结:注意这个控件在5.0之下会有包裹不均匀的现象,但是在5.0之上会很好用

可以控制这个属性来适配app:cardPreventCormorOverlap

true:防止子View被CardView的圆角进行剪切 false: 允许剪切,主要用于适配Lollipop以下

by磊磊tua