我想创建一个结果如下的组件,假设叶子是一个现有的ImageVector.
代码如下:
@Composable
fun MyIcon(
modifier: Modifier = Modifier,
) {
Box(modifier = modifier) {
Image(imageVector = leafImageVector)
Ring( // the part that need to be removed from Image
modifier = Modifier
.align(Alignment.BottomEnd)
.padding(
end = 4.dp,
bottom = 8.dp
),
)
Badge(
modifier = Modifier
.align(Alignment.BottomEnd)
.padding(
end = 8.dp,
bottom = 8.dp
),
badgeColor = badgeColor
)
}
}
@Composable
private fun Ring(
modifier: Modifier = Modifier,
) {
Canvas(
modifier = modifier.size(8.dp),
onDraw = {
val strokeWidth = 8f
drawCircle(
color = Color.Black, // Change this to Transparent or Unspecified does not help
radius = 12f,
style = Stroke(
width = strokeWidth
)
)
}
)
}
@Composable
fun Badge(
modifier: Modifier = Modifier,
badgeColor: Color,
) {
Box(
modifier = modifier
.size(8.dp)
.clip(CircleShape)
.background(
badgeColor
)
)
}
我做到了.黑色部分是我需要从图像中删除的部分