С Jetpack Compose версии «1.0.1» я использовал Badge Box, как этот

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

Но с Compose версии "1.0.5" этот код не работает

Каков новый способ сделать это?

0
Tanjim ahmed 3 Фев 2022 в 20:08

2 ответа

Использование атрибута badge BadgedBox и Badge Composable.

Пример,

BadgedBox(
    badge = {
        Badge {
            Text(text = "5")
        }
    },
    // Other attributes remain same
) {
      // As it is
}
0
Abhimanyu 3 Фев 2022 в 20:37

С композицией 1.1.x вы можете использовать:

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

С композицией 1.0.x вы можете использовать:

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

В версии 1.1.x BadgeBox был переименован в BadgedBox, а некоторые параметры были удалены (проверьте эту фиксацию).

0
Gabriele Mariotti 3 Фев 2022 в 23:13