如何在圆形视图中显示矩形图像?

时间:2021-01-18 08:05:28

标签: android android-jetpack-compose

我正在尝试使用 android compose 以圆形显示矩形图像,但边缘不会拉伸以填充整体。
换句话说,即使我必须从垂直边缘裁剪,我也不希望出现下图中显示的黑色背景,并且旗帜会伸展以覆盖它 enter image description here

用于生成图像的代码

Image(
  imageVector = vectorResource(id = R.drawable.flag_cn),
  modifier = Modifier.matchParentSize().clip(CircleShape)
              .background(shape = CircleShape, color = Color.Black))

更新:
我尝试将 Image Compose 中的内容缩放选项设置为裁剪

  Image(
            imageVector = vectorResource(id = flagID),
            modifier = Modifier
                .fillMaxSize(0.4f)
                .background(shape = CircleShape, color = Color.Black)
                .align(Alignment.BottomEnd)
                .clip(CircleShape),
            contentScale = ContentScale.Crop
        )

3 个答案:

答案 0 :(得分:0)

您可以使用可用于将图像边界缩放到其视图边界的缩放类型选项。此选项适用于 SELECT * FROM yourtable t1 WHERE NOT EXISTS (SELECT 1 FROM yourtable t2 WHERE t1.customerID = t2.customerID AND t1.date > t2.date AND DATEPART(YEAR, t1) = DATEPART(YEAR, t2))

你可以选择

ImageView

参考: ImageView ScaleType

答案 1 :(得分:0)

也许是这样?

val imageVector = vectorResource(id = R.drawable.flag_cn)
Surface(
        modifier = Modifier.preferredSize(200.dp),
        shape = CircleShape,
    ) {
        Image(imageVector, modifier = Modifier.size(300.dp))
    }

答案 2 :(得分:0)

使用 GraphStage 应用 clip 修饰符:

CircleShape

enter image description here