我在 Compose 中有以下代码片段。运行时,尽管使用“ContentScale.Inside”,图像仍被裁剪。
val painter = rememberAsyncImagePainter(
imageLoader = imageLoader,
model = ImageRequest.Builder(LocalContext.current)
.data(data = url)
.crossfade(true)
.build()
)
Image(
modifier = Modifier
.size(40.dp)
.clip(CircleShape)
.background(MaterialTheme.colorScheme.surfaceContainerHighest),
painter = painter,
contentDescription = null,
contentScale = ContentScale.Inside,
alignment = Alignment.Center)
请建议我将“ContentScale.Inside”应用于我的图像,以便它可以显示在圆形区域内。我无法对图像使用“fillMaxSize()”修饰符,因为我只需要 40.dp 大小。
ContentScale.Inside:缩放源以将宽高比保持在目标边界内。如果源在两个维度上都小于或等于目标,则其行为类似于
None
。内容将始终包含在范围内。
如果内容小于边界,则不会应用缩放
请参阅此处了解更多详细信息自定义图像