android-jetpack-compose

How to make card gradient in Jetpack compose?


@Composable fun Gradientcard() {

val horizontalGradientBrush = Brush.horizontalGradient(
    colors = listOf(
        Blue,
        lightBlue
    )
)




Card(modifier = modifier = Modifier
            .background(brush = horizontalGradientBrush),shape = RoundedCornerShape(20.dp)){
    Text(
        text = "sub 1",
        
    )
}

This method made background of card as gradient but not the card. Card color is still white.

Output

cardgradient


Solution

  • Instead of using modifier in Card try creating Box layout inside Card and add gradient code inside it.

    Card(
                modifier = Modifier
                    .fillMaxWidth()
                    .height(175.dp),
                elevation = 4.dp,
                shape = RoundedCornerShape(24.dp),
            ) {
                Box(
                    Modifier
                        .background(
                            /* Your code*/          ) {
                    Text(
                        text = "Card Gradient Background",
                        
                    )
                }
            }