【问题标题】:Why does Android Studio Kotlin Compose Template display text wrong when app is run?为什么 Android Studio Kotlin Compose Template 在应用程序运行时显示文本错误?
【发布时间】:2022-01-11 17:27:22
【问题描述】:

我使用新的 Compose 功能 (official docs) 从 Android Studio 模板构建了一个应用。

预览如下所示:

但是,当我运行应用程序时,它看起来像这样(文本要小得多并且不在视图中居中):

这不是编辑器中 UI 的实际预览吗? 有没有办法在 Android Studio 中真正预览 Compose?

【问题讨论】:

    标签: android-studio android-layout android-jetpack-compose android-compose-textfield android-jetpack-compose-preview


    【解决方案1】:

    Jetpack Compose Preview 只显示有注释的函数中包含的元素,而不是整个设备显示。
    您在 Greeting 函数上设置了 @Preview,它只包含一个 Text() 元素,这就是您在预览面板中得到的。
    你可以用ColumnBox 包裹你的Text,然后告诉 Compose 用modifier 填满整个屏幕。

    Box(
       Modifier.fillMaxSize()
    ){
       Text(text = "Hello $name!")
    }
    

    请注意,即使在您的设备上,文本也不会填满整个屏幕,它只会放置在第一个可用空间中。一切正常。

    【讨论】:

    • 代码不是我的,是 Android Studio 模板的代码。所以我想知道为什么预览的显示方式与最终应用程序的显示方式不同。感谢您的回答,但它实际上并没有编译。 fillMaxSize() 有错误。你可以在这张图片中看到错误在 android studio 中的样子:i.stack.imgur.com/cIhqY.png
    • 嗨@raddevus,您的BoxModifier 来自哪里?检查你的进口。然而,这是一个 example from the official docs 。您也可以尝试使用 Column 而不是 Box ,但我认为您导入了错误的修饰符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 2016-09-25
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多