图像内容比例在 Compose 中不起作用

问题描述 投票:0回答:1

我有一个 Compose 代码片段,其中使用

rememberAsyncImagePainter
显示图像。即使我设置了
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
)


我需要图像完全适合圆形形状而不被裁剪。我无法使用

fillMaxSize()
,因为图像大小必须保持
40.dp
有人可以帮助我吗?

enter image description here

如上图所示,用户头像图像被裁剪/缩放以适合圆圈。它没有在圆内对齐。

android android-jetpack-compose android-jetpack
1个回答
0
投票

ContentScale.Inside:缩放源以将宽高比保持在目标边界内。如果源在两个维度上都小于或等于目标,则其行为类似于

None
。内容将始终包含在范围内。

如果内容小于边界,则不会应用缩放

请参阅此处了解更多详细信息自定义图像

© www.soinside.com 2019 - 2024. All rights reserved.