小编Ted*_*ide的帖子

在 Box 范围内时无法使用隐式或显式接收器

我正在学习 Jetbrains 的“Compose Multiplatform”,它基于 Jetpack Compose。

一些信息

  • 科特林:1.5.31
  • Intellij:2021.3.1

因此,在构建下面的代码时,我收到错误:

fun Modifier.align(alignment: Alignment.Horizontal): Modifier' can't be called in this context by implicit receiver. Use the explicit one if necessary

此错误出现在这一行:

Icon(Icons.Filled.Close, "", Modifier.align(Alignment.CenterHorizontally))

Modifier我已经尝试添加完整的包androidx.compose.ui.Modifier.align(),但它仍然出现关于接收器的错误。如果它不在RowColumnBox布局内,此错误就会消失。我没有尝试过其他很多人来看看他们是否也有问题。我相信这个框架仍然是 alpha,所以我只是想确保在 github 上发布问题之前我没有遗漏任何东西,因为我找不到其他人引用这个问题。

复制:

  1. 创建新项目(编写多平台应用程序)
  2. 将 App.kt (common -> src -> commonMain -> kotlin) 替换为以下代码
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.material.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.filled.Menu
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp …
Run Code Online (Sandbox Code Playgroud)

kotlin compose-multiplatform

6
推荐指数
1
解决办法
4171
查看次数

标签 统计

compose-multiplatform ×1

kotlin ×1