要在Card中使用自定义样式,使图片自适应,可以使用Jetpack Compose中的Card和Box组件。下面是示例代码:
@Composable fun CustomCardWithImage(imageUrl: String, imageModifier: Modifier) { Card( elevation = 4.dp, shape = RoundedCornerShape(8.dp), ) { Box( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.CenterStart ) { Image( painter = rememberImagePainter(imageUrl), contentDescription = "Custom Card Image", modifier = imageModifier, ) } } }
上面的CustomCardWithImage组件接受一个imageUrl和imageModifier作为参数。imageModifier是一个Compose Modifier,例如:Modifier.fillMaxWidth(),用于调整图像大小。在代码中,我们将图像放在Box中,并使用fillMaxSize()使其占满整个Card区域。最后,我们将图像传递给Image组件,并将imageModifier应用于它。
调用CustomCardWithImage组件:
CustomCardWithImage( imageUrl = "https://picsum.photos/200/300", imageModifier = Modifier.fillMaxWidth().aspectRatio(1f) )
在上面的示例中,我们将图像大小设置为填充整个Card的宽度,并以1:1的比例调整其高度。您可以根据需要调整imageModifier的其他属性,例如padding、scale等。