gpt4 book ai didi

android - Android Compose 中基于特定条件的链式修饰符

转载 作者:行者123 更新时间:2023-12-04 23:38:50 24 4
gpt4 key购买 nike

我想以这样的方式应用修饰符,如果提供了宽度,它应该使用提供的宽度,否则使用可用的最大宽度。
我以以下方式应用修改器,但结果不如预期。
View 宽度变得困惑。在这里请求指导。

val myModifier = Modifier.padding(
start = 4.dp, end = 4.dp, top = 8.dp, bottom = 8.dp
)

if (viewWidth == null)
myModifier.then(Modifier.fillParentMaxWidth(1f))
else
myModifier.then(Modifier.width(viewWidth))

myModifier.then(
Modifier.height(viewHeight ?: 100.dp)
.clickable(onClick = { listener.onItemClick(item) })
)

最佳答案

Modifier有一个 then函数将当前修饰符与另一个修饰符连接起来。这个then函数返回一个您没有使用过的新修饰符。您必须重新初始化 myModifier带有返回修饰符的变量。
检查以下代码:

var myModifier = Modifier.padding(
start = 4.dp, end = 4.dp, top = 8.dp, bottom = 8.dp
)

if (viewWidth == null)
myModifier = myModifier.then(Modifier.fillParentMaxWidth(1f))
else
myModifier = myModifier.then(Modifier.width(viewWidth))

myModifier = myModifier.then(
Modifier
.height(viewHeight ?: 100.dp)
.clickable(onClick = { listener.onItemClick(item) })
)

关于android - Android Compose 中基于特定条件的链式修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67768746/

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