Muitas vezes, os apps precisam exibir dados em contêineres com estilo semelhante. Esses contêineres
são frequentemente usados em listas para armazenar as informações de cada item. O sistema fornece a API
CardView
como uma maneira fácil de mostrar
informações dentro de cards que têm uma aparência consistente em toda a plataforma. Esses
cards têm uma elevação padrão acima da visualização em grupo que os contém, fazendo com que o sistema
exiba sombras abaixo deles. Os cards são uma maneira fácil de conter um grupo de visualizações e,
ao mesmo tempo, fornecer um estilo consistente para o contêiner.

Figura 1. Exemplos de card
Adicionar as dependências
O widget CardView
faz
parte do AndroidX. Para usá-lo no seu projeto, adicione a
seguinte dependência ao arquivo build.gradle
do módulo do app:
Groovy
dependencies { implementation "androidx.cardview:cardview:1.0.0" }
Kotlin
dependencies { implementation("androidx.cardview:cardview:1.0.0") }
Criar cards
Para usar a CardView
, adicione-a ao arquivo de
layout. Use-o como uma visualização em grupo para conter outras visualizações. Neste exemplo, a
CardView
contém uma única TextView
para exibir algumas informações ao usuário.
<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>
Os cards são exibidos na tela com uma elevação padrão, fazendo com que o sistema exiba uma
sombra abaixo deles. Você pode fornecer uma elevação personalizada para um card com o
atributo card_view:cardElevation
. Isso criará uma sombra mais pronunciada com uma
elevação maior, enquanto uma elevação mais baixa resultará em uma sombra mais clara.
CardView
usa a elevação real e sombras dinâmicas no Android 5.0
(API de nível 21) e versões mais recentes, mas usa uma implementação de sombra programática em versões anteriores.
Use estas propriedades para personalizar a aparência do
widget CardView
:
- Para definir o raio do canto nos layouts, use o atributo
card_view:cardCornerRadius
. - Para definir o raio do canto no código, use o método
CardView.setRadius
. - Para definir a cor do plano de fundo de um card, use o atributo
card_view:cardBackgroundColor
.
Para saber mais, consulte a Referência da API para CardView
.