唯客微博客

专注于计算机,嵌入式领域的技术

0%

Jetpack Compose组件-徽章(Badge)

Jetpack Compose组件-徽章(Badge)

徽章(Badge)

Badge 是一个可以包含动态信息的组件,例如是否存在新通知或许多未处理请求。徽章可以是纯图标或包含短文本。一般不单独使用,使用BadgeBox 将Badge放置在组件的右上角。

1
2
3
4
5
6
7
8
9
10
@Composable
fun Badge(
// 修饰符
modifier: Modifier = Modifier,
// 背景颜色
backgroundColor: Color = MaterialTheme.colors.error,
// 内容颜色
contentColor: Color = contentColorFor(backgroundColor),
content: (@Composable RowScope.() -> Unit)? = null
): Unit
1
2
3
4
var count by remember { mutableStateOf(0) }
Card(onClick = { count++ }) {
Text("Clickable card content with count: $count")
}

BadgeBox

1
2
3
4
5
6
7
8
@Composable
fun BadgedBox(
// 徽章
badge: @Composable BoxScope.() -> Unit,
// 修饰符
modifier: Modifier = Modifier,
content: @Composable BoxScope.() -> Unit
): Unit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BadgedBox(badge = {
Badge {
val badgeNumber = "8"
Text(
badgeNumber,
modifier = Modifier.semantics {
contentDescription = "$badgeNumber new notifications"
}
)
}
}) {
Icon(
Icons.Filled.Favorite,
contentDescription = "Favorite"
)
}
-------------本文结束感谢您的阅读-------------

本文标题:Jetpack Compose组件-徽章(Badge)

文章作者:Vinx

发布时间:2023年01月13日 - 09:12

最后更新:2023年09月18日 - 11:42

原始链接:https://blog.vinkvin.com/post/66/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。