前言
CardView顾名思义,就是想卡片一样的控件,如图:
Android 5.0之前,我们有两种方案做出这种效果:
1.通过设置背景图
2.设置配置Shape文件
而现在我们需要麻烦美工MM,也不需要配置麻烦的Shape文件,只需要简单的设置几个属性即可,那就是用我们CardView
CardView
CardView继承了FrameLayout类,并让你在里面的卡片中(显示)有跨平台一致性的外观。CardView控件可以有阴影和圆角(效果)。
要创建具有阴影效果的卡片,可以使用card_view:cardElevation属性。CardView会在Android5.0(API级别21)以上的系统中使用真实高程(elevation)和动态阴影,(而)在较低的系统版本中会回落到程序式的阴影效果显示。欲了解更多信息,请参阅Maintaining Compatibility(保持兼容性)。
使用这些属性来定制CardView控件的外观:
在布局中设置圆角半径,使用card_view:cardCornerRadius属性
在代码中设置圆角半径,使用CardView.setRadius方法
要设置一个卡片的背景颜色,使用card_view:cardBackgroundColor属性
为了让大家更好理解并使用本人所讲的知识点,本次CardView作为item添加到RecyclerView中。
使用步骤:
1.导入/sdk/extras/android/support/v7/cardview/libs/android-support-v7-cardview.jar
2.把/sdk/extras/android/support/v7/cardview作为Library工程引用到工程
3.修改下item的layout
原有的xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textViewSample" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="20sp" android:padding="30dp" android:fontFamily="sans-serif-light" tools:text="Sample text" /> </LinearLayout>修改后的xml
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp" > <TextView android:id="@+id/textViewSample" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:fontFamily="sans-serif-light" android:padding="30dp" android:textSize="20sp" /> </android.support.v7.widget.CardView>哦了~!感觉去试试吧~!
原文地址:http://blog.csdn.net/cym492224103/article/details/41753071