【问题标题】:Jetpack Compose Desktop: getting your display's height and widthJetpack Compose Desktop:获取显示器的高度和宽度
【发布时间】:2023-02-07 11:53:08
【问题描述】:

我正在寻找一种在 Jetpack Compose for Desktop 中获取显示器高度和宽度的方法,但尽管我在 SO (Screen width and height in Jetpack Compose) 上发现了一些问题,但它并不是很有帮助,因为没有值(并且其他东西)比如本地配置, 仅有的 -本地视图配置,这是另一回事。

所以,关于我的最初目标的一些话:我希望能够自动地更改我的应用程序中使用的字体大小:textStyle = TextStyle(fontFamily = FontFamily.Monospace, fontSize = calculateRelativeFontSize()),其中:@Composable fun calculateRelativeFontSize(): TextUnit { val height = ...; val width = ...; ...}

最后,如果我遗漏了什么,我很抱歉,因为我不是真正的 Kotlin 或(老实说)Jetpack Compose 程序员,只是被要求做一些事情......

附言我在 Linux 下工作,所以......也许不知何故(真的不相信)......(你明白了)

【问题讨论】:

    标签: kotlin android-jetpack-compose desktop


    【解决方案1】:

    您必须记住,JetBrains Compose 是建立在 Skia 和 Java 的 AWT 库之上的。您可以使用与屏幕信息相关的本机功能。例如使用 AWT:

    // CloudsAnimation.kt
    import org.jetbrains.skia.RuntimeEffect
    import java.awt.Toolkit
    
    @Composable
    fun CloudsAnimation(
        modifier: Modifier = Modifier
    ) {
        val screenSize = Toolkit.getDefaultToolkit().screenSize
        val screenHeight = screenSize.height
        val screenWidth = screenSize.width
        println("Width: $screenWidth ; Height: $screenHeight")
        // ... composables below etc
    
    }
    

    在我的 13 英寸 MacBook Pro 上运行:

    Width: 1440 ; Height: 900
    

    【讨论】:

      猜你喜欢
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 2022-07-26
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      相关资源
      最近更新 更多