Jetpack compose 中修饰符方法的未解决引用

Lib*_*tec 14 android android-jetpack-compose

我正在学习 Jetpack Compose,并且尝试使用修改器方法高度和填充来自定义图像的显示。但我收到了问题消息“未解析的参考:高度”和“未解析的参考:填充”。

@Preview
@Composable
fun imageDisplay() {
    Column(
        modifier = Modifier.padding(16.dp)
    ) {
        Image(
            painter = painterResource(R.drawable.photo_1505740420928_5e560c06d30e),
            contentDescription = null,
            modifier = Modifier
                .height(180.dp)
                .fillMaxWidth()
                .clip(shape = RoundedCornerShape(4.dp)),
            contentScale = ContentScale.Crop

        )

    }

}
Run Code Online (Sandbox Code Playgroud)

填充和高度方法以红色突出显示

我错过了什么吗?

小智 22

确保包导入正确。Modifier有时我们会不小心导入错误的函数包

使用正确的包。

import androidx.compose.ui.Modifier
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!我无意中使用了 import java.lang.reflect.Modifier (3认同)

ngl*_*ber 11

一切看起来都很好。确保您使用的是最新版本的 Android Studio、gradle 和 compose 版本。

  • Android Studio 海豚 | 2021.3.1 金丝雀5
  • 撰写版本 1.2.0-alpha05
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.ui:ui-tooling:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.material:material-ripple:$compose_version"
Run Code Online (Sandbox Code Playgroud)

最后,检查您是否导入了正确的Modifier类。您必须使用包装中的一个androidx.compose.ui

  • 我的来自“java.lang.Reflect”:这一定是原因。 (7认同)
  • 这个答案中的“finally”子句是我的问题。谢谢尼尔森!我有同样的 - “Reflect”包中的修饰符类不正确 (2认同)