kotlin 如何使用BadgeBox与最新的合成版本?[duplicate]

alen0pnh  于 2022-11-25  发布在  Kotlin
关注(0)|答案(2)|浏览(150)

此问题在此处已有答案

Hide badge in BadgeBox in Jetpack Compose(1个答案)
10个月前就关门了。
在Jetpack Compose版本“1.0.1”中,我使用了这样的徽章框

BadgedBox(
    badgeContent = {
        Text(text = "5")
    },
    backgroundColor = Primary,
    modifier = Modifier
) {
      Icon(
          imageVector = Icons.Outlined.ShoppingCart,
          contentDescription = "shopping cart",
          tint = Color.Black
      )
}

但是,对于合成版本“1.0.5”,此代码不起作用
有什么新的做法?

ibrsph3r

ibrsph3r1#

通过组合M2(从1.1.x开始)和M3,您可以用途:

BadgedBox(
    badge = { Badge { Text("5") } },
    modifier = Modifier.background(Red)) {
        Icon(
            Icons.Filled.Favorite,
            contentDescription = "Favorite"
        )
}

旧的答案是:使用compose M2 1.0.x,您可以用途:

BadgeBox(
    badgeContent = { Text("5") },
    backgroundColor = Red,) {
       Icon(
           Icons.Filled.Favorite,
           contentDescription = "Favorite"
       )
}

在1.1.x中,BadgeBox被重命名为BadgedBox,并删除了一些参数(check this commit)。

c2e8gylq

c2e8gylq2#

使用BadgedBoxBadgebadge属性可组合。
示例:

BadgedBox(
    badge = {
        Badge {
            Text(text = "5")
        }
    },
    // Other attributes remain same
) {
      // As it is
}

相关问题