cardview的使用

来源:互联网 发布:秋季女装蕾丝新款淘宝 编辑:程序博客网 时间:2024/05/15 12:39
转自:http://blog.csdn.net/u012369373/article/details/53033495

CardView是Android5.0退出的卡片式控件,CardView被包装成为一种布局,并且经常在ListView和RecyclerView的item布局中,作为一种容器使用。
要使用CardView首先要在gradle文件中添加依赖:
compile'com.android.support:cardview-v7:23.4.0'
CardView的基本属性:
app:cardBackgroundColor这是设置背景颜色 
app:cardCornerRadius这是设置圆角大小 
app:cardElevation这是设置z轴的阴影 
app:cardMaxElevation这是设置z轴的最大高度值 
app:cardUseCompatPadding是否使用CompatPadding 
app:cardPreventCornerOverlap是否使用PreventCornerOverlap 
app:contentPadding 设置内容的padding 
app:contentPaddingLeft 设置内容的左padding 
app:contentPaddingTop 设置内容的上padding 
app:contentPaddingRight 设置内容的右padding 
app:contentPaddingBottom 设置内容的底padding
使用依赖库能够保证程序稳定的兼容之前的版本。

CardView提供了一个默认的elevation(意为CardView的Z轴阴影)和圆角角度,所以每一个卡片都能够在不同的设备上保持相同的外观。
注意:cardElevation属性被用来决定阴影的大小以及柔和度,以至于可以逼真的模拟出对于深度效果的描述。

添加波纹点击效果:
默认情况下,CardView是不可以点击的,并且没有任何的触摸反馈效果。触摸反馈动画在用户点击CardView时可以给用户视觉上的反馈,要想实现这种行为,必须设置以下属性:
首相要可以点击:
android:clickable="true"
然后设置点击后的效果:
android:foreground="?android:attr/selectableItemBackground"
使用这个属性可以是CardView点击产生波纹的效果,有触摸点向外扩散。
[java] view plain copy
  1. <android.support.v7.widget.CardView  
  2.         app:cardUseCompatPadding="true"  
  3.         app:cardCornerRadius="10dp"  
  4.         app:contentPadding="10dp"  
  5.         app:cardElevation="10dp"  
  6.         app:cardMaxElevation="10dp"  
  7.         android:layout_width="0dp"  
  8.         android:layout_weight="1"  
  9.         android:layout_height="match_parent">  
  10.         <TextView  
  11.             android:id="@+id/textView1_item1"  
  12.             android:gravity="center"  
  13.             android:layout_width="match_parent"  
  14.             android:layout_height="match_parent"  
  15.             android:text="abc"/>  
  16.     </android.support.v7.widget.CardView>  

第一次使用,效果确实不错。