应用通常需要在样式相似的容器中显示数据。这些容器通常在列表中用于保存每项的信息。借助系统提供的 CardView
API,您可以轻松地在卡片内显示信息。这些卡片在整个平台都具有一致的外观,并且以默认高程位于所属视图组上方,因此系统会在其下方绘制阴影。卡片可用来轻松包含一组视图,同时为容器提供一致的样式。

图 1. 卡片示例
添加依赖项
CardView
微件是 AndroidX 的一部分。如需在项目中使用该微件,请将以下依赖项添加到应用模块的 build.gradle
文件中:
Groovy
dependencies { implementation "androidx.cardview:cardview:1.0.0" }
Kotlin
dependencies { implementation("androidx.cardview:cardview:1.0.0") }
创建卡片
如需使用 CardView
,您需要将其添加到布局文件中。将其用作视图组以包含其他视图。在此示例中,CardView
包含一个 TextView
,用于向用户显示一些信息。
<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 --> <androidx.cardview.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" /> </androidx.cardview.widget.CardView> </LinearLayout>
这些卡片会以默认高程绘制到屏幕上,这会导致系统在其下方绘制阴影。您可以使用 card_view:cardElevation
属性为卡片提供自定义高程。高程值越大,绘制的阴影越明显,高程值越小,阴影越淡。
CardView
在 Android 5.0(API 级别 21)及更高版本中使用实际高程和动态阴影,在早期版本中则回退到程序化阴影实现。
使用以下属性自定义 CardView
微件的外观:
- 如需在布局中设置圆角半径,请使用
card_view:cardCornerRadius
属性。 - 如需在代码中设置圆角半径,请使用
CardView.setRadius
方法。 - 如需设置卡片的背景色,请使用
card_view:cardBackgroundColor
属性。
如需了解详情,请参阅 CardView
的 API 参考文档。