卡片化是全新的Material风格设计中重要的组成部分之一,卡片设计适合重要信息的展示,以及在list中作为一个包含有复杂操作的item使用。
CardView
继承于Framelayout
,比FrameLayout
多了3个重要的属性:
card_view:cardElevation
card_view:cardCornerRadius
card_view:cardBackgroundColor
card_view:cardElevation
,可以设置卡片的阴影,可以使CardView
在z轴方向上有一种抬升的视觉效果,能给用户一种这里是重要信息的视觉感受。对应代码里的方法public void setCardElevation (float radius)
。
card_view:cardCornerRadius
,显然就是设置CardView
的圆角了。对应代码里的方法public void setRadius (float radius)
。
card_view:cardBackgroundColor
,设置CardView
的背景颜色,这个属性是不会影响阴影card_view:cardElevation
的效果。对应代码里的方法public void setCardBackgroundColor (int color)
。
CardView常用属性:
card_view:cardElevation
阴影的大小card_view:cardMaxElevation
阴影最大高度card_view:cardBackgroundColor
卡片的背景色card_view:cardCornerRadius
卡片的圆角大小card_view:contentPadding
卡片内容于边距的间隔card_view:contentPaddingBottom
card_view:contentPaddingTop
card_view:contentPaddingLeft
card_view:contentPaddingRight
card_view:contentPaddingStart
card_view:contentPaddingEnd
card_view:cardUseCompatPadding
设置内边距,V21+的版本和之前的版本仍旧具有一样的计算方式card_view:cardPreventConrerOverlap
在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="200dp"
android:layout_height="wrap_content"
card_view:cardBackgroundColor="#303069"
card_view:cardCornerRadius="10dp"
card_view:cardPreventCornerOverlap="true"
card_view:cardUseCompatPadding="true"
card_view:contentPadding="10dp">
...
</android.support.v7.widget.CardView>
注:在 gradle 的 dependencies 中添加 `compile 'com.android.support:cardview-v7:21.+'`
CardView继承至FrameLayout类,可以在一个卡片布局中一致性的显示内容,卡片可以包含圆角和阴影。CardView是一个Layout,可以布局其他View。
转自:http://www.bkjia.com/Androidjc/934210.html
http://ju.outofmemory.cn/entry/109623