Apps often need to display data in similarly styled containers. These containers
are often used in lists to hold each item's information. The system provides the
CardView
API as an easy way
for you to show information inside cards that have a consistent look across the
platform. These cards have a default elevation above their containing view
group, so the system draws shadows below them. Cards provide an easy way to
contain a group of views while providing a consistent style for the container.

Add the dependencies
The CardView
widget is part of AndroidX. To use it in
your project, add the following dependency to your app module's build.gradle
file:
Groovy
dependencies { implementation "androidx.cardview:cardview:1.0.0" }
Kotlin
dependencies { implementation("androidx.cardview:cardview:1.0.0") }
Create cards
In order to use the CardView
, you need to add it to your layout
file. Use it as a view group to contain other views. In the following example,
the CardView
contains a single
TextView
to display some
information to the user:
<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>
The cards are drawn to the screen with a default elevation, which causes the
system to draw a shadow underneath them. You can provide a custom elevation for
a card with the card_view:cardElevation
attribute. This will draw a more
pronounced shadow with a larger elevation, and a lower elevation will result in
a lighter shadow. CardView
uses real elevation and dynamic shadows on Android
5.0 (API level 21) and above and falls back to a programmatic shadow
implementation on earlier versions.
Use these properties to customize the appearance of the CardView
widget:
- To set the corner radius in your layouts, use the
card_view:cardCornerRadius
attribute. - To set the corner radius in your code, use the
CardView.setRadius
method. - To set the background color of a card, use the
card_view:cardBackgroundColor
attribute.