gpt4 book ai didi

android - 为什么我在 Jetpack Compose 中收到 "Optional Modifier parameter should have a default value of Modifier"警告?

转载 作者:行者123 更新时间:2023-12-05 04:24:51 26 4
gpt4 key购买 nike

我收到以下代码A的警告信息,为什么?

可选的 Modifier 参数应具有默认值 Modifier

代码A

@Composable
fun DisplayIcon(
modifier: Modifier=Modifier.size(24.dp),
icon: ImageVector,
tint: Color = Color.Blue
) {
Icon(icon, null, modifier = modifier, tint = tint)
}

最佳答案

这只是一个最佳实践。使用其他一些默认值可能会导致奇怪的情况 - 假设您想在一个列中使用两个这样的组件:

Column {
DisplayIcon()
DisplayIcon()
}

一切都很好,但现在你想对齐其中一个:

Column {
DisplayIcon()
DisplayIcon(modifier = Modifier.align(Alignment.End))
}

突然之间,没有明显的原因,一个的大小与另一个不同。因此,您必须从 DisplayIcon 实现中找出发生了什么,然后可能也将 .size(24.dp) 添加到对齐的可组合项中。但是现在你想改变默认大小,你必须在很多不同的地方这样做......
这样的事情可能是更好的解决方案:

@Composable
fun DisplayIcon(
modifier: Modifier = Modifier,
icon: ImageVector,
tint: Color = Color.Blue,
size: Dp = 24.dp,
) {
Icon(icon, null, modifier = modifier.size(size), tint = tint)
}

关于android - 为什么我在 Jetpack Compose 中收到 "Optional Modifier parameter should have a default value of Modifier"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73415055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com