【问题标题】:Jetpack Compose first argument modifier doesn't workJetpack Compose 第一个参数修饰符不起作用
【发布时间】:2021-10-13 04:39:44
【问题描述】:

我正在学习 Compose,我只是想为我的 LazyColumn 设置我的项目样式。但是,当我添加第一个参数时,它似乎总是拒绝它。即使我删除了填充,下一个参数也会出错。

谁能看到我遗漏的东西,因为我已经看了一个小时了。

@Composable
fun NewsArticleItem(news: News) {
    Row {
        Column(
            modifier = Modifier
                .padding(16.dp)
                .background(Color.Green)
                .fillMaxWidth()
                .align(Alignment.CenterVertically)
        ) {
            Text(text = news.title, style = typography.h5)
            Text(text = news.body, style = typography.caption)
        }
    }
}

【问题讨论】:

  • 错误信息是什么?
  • 感觉还可以。你用的是最新版的 Android Studio、gradle 和 compose 吗?

标签: android kotlin android-jetpack-compose


【解决方案1】:

你不能将dp 传递给.fillMaxWidth() 你可以在那里传递0..1 Float,这将使它占据可用宽度的一部分,默认为1

您可以将dp 指定为.width(56.dp) 修饰符

如果这没有帮助,请指定哪个修饰符在您的情况下完全不起作用?在我的情况下,宽度固定 width 修饰符一切似乎都按预期工作

【讨论】:

  • 请原谅。我更新了代码以更好地反映正在发生的事情。我粘贴了错误的代码。这是填充属性。
  • 让我说清楚;这是 Android Studio 中以红色显示的填充,我不知道为什么。
  • @Nefario 在我的情况下很好。确定你有正确的进口? import androidx.compose.foundation.layout.padding
  • 是的,但由于某种原因它是灰色的。我用的是北极狐,有问题吗?
  • @Nefario 当然,这意味着它在您的代码中使用了其他一些padding。检查你的导入,看看是否有另一个以padding 结尾,或者尝试导航到你的padding 源代码,看看它是哪一个
猜你喜欢
  • 2023-03-02
  • 1970-01-01
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 2022-07-29
  • 1970-01-01
  • 2021-05-04
  • 2021-08-14
相关资源
最近更新 更多