Compose Component

Card

Base level Wear Material 3 Card that offers a single slot to take any content.

Card social preview

CardSample

@Preview
@Sampled
@Composable
fun CardSample() {
    Card(onClick = { /* Do something */ }) { Text("Card") }
}

CardWithOnLongClickSample

@Sampled
@Composable
fun CardWithOnLongClickSample(onLongClickHandler: () -> Unit) {
    Card(
        onClick = { /* Do something */ },
        onLongClick = onLongClickHandler,
        onLongClickLabel = "Long click",
    ) {
        Text("Card with long click")
    }
}

CardFillContentSample

@Sampled
@Preview
@Composable
fun CardFillContentSample() {
    Card(
        onClick = { /* Do something */ },
        // Constrains the card to fill background up to the intrinsic height.
        modifier = Modifier.height(IntrinsicSize.Min),
    ) {
        Text(
            "Filled Content",
            color = MaterialTheme.colorScheme.onPrimary,
            modifier =
                Modifier.fillMaxHeight()
                    .clip(RoundedCornerShape(8.dp))
                    .background(MaterialTheme.colorScheme.primary)
                    .wrapContentSize(Alignment.Center),
        )
    }
}

ImageCardSample

@Sampled
@Composable
fun ImageCardSample() {
    Card(
        onClick = { /* Do something */ },
        containerPainter =
            CardDefaults.containerPainter(image = painterResource(id = R.drawable.backgroundimage)),
    ) {
        Text("Image card")
    }
}

NonClickableCardSample

@Sampled
@Composable
fun NonClickableCardSample() {
    Card { Text("Non Clickable Card") }
}

NonClickableImageCardSample

@Sampled
@Composable
fun NonClickableImageCardSample() {
    Card(
        containerPainter =
            CardDefaults.containerPainter(image = painterResource(id = R.drawable.backgroundimage))
    ) {
        Text("Non clickable image card")
    }
}
Jetpack Compose beyond MaterialFree components, screens and templates for apps that don’t look like Google’s. Copy them into your app, or let your coding agent add them.Browse for free

Content updated: