0

在它得到的compose-desktop示例中

import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application

fun main() = application {
    var isOpen by remember { mutableStateOf(true) }
    var isAskingToClose by remember { mutableStateOf(false) }

它有 androidx 导入。

是否可以在可用于其他桌面环境的 compose 桌面上运行其他 android 库,例如ExoplayerGoogle Accompanist ?

4

1 回答 1

1

不,这只是一个名字。

Compose 最初是由 Android 团队创建的,后来他们与 JetBrains 合作创建了一个多平台版本。但 Android 团队决定不更改包的名称(例如,通过删除前缀androix),JetBrains 必须使用相同的包名以实现兼容性。

您不能运行任何特定于 Android 的库 - 使用 Compose for Desktop 创建的应用程序作为普通 JVM 应用程序运行。

根据这些库对 Android 原语的依赖程度,将它们移植到桌面可能更容易或更难。例如,Coil 实际上是围绕 Android 框架类构建的,例如Bitmap, BitmapFactory, ImageDecoder,因此移植它会非常困难。

许多 Google Accompanist 库仅在 Android 平台上才有意义。如果你需要在 Desktop 上使用其中的一些,你可以尝试复制粘贴源代码,看看它是否可以在 Desktop 上运行。

于 2022-01-26T09:38:59.720 回答