如何在横向模式下预览 Compose 布局

时间:2021-07-20 12:46:59

标签: android-jetpack-compose android-jetpack-compose-preview

我使用的是 Android Studio Bumblebee 2021.1.1 Canary 3 + Compose 1.0-rc02,似乎没有简单的方法可以强制使用横向模式进行预览,其中包括使用来自 {{1 }} 资源文件夹。

我知道这种行为在理论上是可能的,因为使用 -land/ 将使用正确的资源值。然而,这不是一个可行的预览选项,因为与默认预览设备相比,像素密度是关闭的。 (即使调整了预览的宽度、高度和字体比例,图标的大小仍然是错误的。)

我能够做到这一点,以便我的 UI 代码使用以下包装器检测横向

@Preview(device = Devices.AUTOMOTIVE_1024p)

然而,这并不能解决上述未使用 val lanscapeConfig = LocalConfiguration.current.apply { orientation = Configuration.ORIENTATION_LANDSCAPE } CompositionLocalProvider(LocalConfiguration provides lanscapeConfig) { // actual preview code } 获取景观资源的问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当前的解决方法是使用单独的文件进行横向预览并指定 device = Devices.AUTOMOTIVE_1024p,并调整高度和宽度(但不是字体比例)。

但我希望有人能想出一种适用于不同设备类型的更好方法。

@Preview(device = Devices.AUTOMOTIVE_1024p, widthDp = 720, heightDp = 360)
@Composable
fun PreviewLandscape() {
    PreviewHelper() // common preview code to all modes
}