3

我想将 aWebView转换为@Composable. 我正在寻找类似的东西SwiftUI's UIRepresentable

我看到有一个@GenerateView注释,但是 1. 与我想要的相反(将 a 转换@Composable为 xml) 2.@GenerateView似乎已被带走(我正在使用Dev05)。

4

2 回答 2

1

我认为该功能尚不支持。但是您可以使用 jetpack compose 互操作传统视图。

@Composable
fun Browser(list: List<String>) {
    Column(modifier = Modifier.fillMaxSize()) { item ->
        AndroidView(
                modifier = Modifier.fillParentMaxWidth().height(50.dp),
                viewBlock = { context ->
                    WebView(context).apply {
                        layoutParams = ViewGroup.LayoutParams(
                                ViewGroup.LayoutParams.MATCH_PARENT,
                                ViewGroup.LayoutParams.MATCH_PARENT,
                        )
                    }
                })
    }
}
于 2020-12-29T03:41:32.440 回答
0

我相信您应该使用 WebComponent @Composable。这也是一个很好的示例,可以查看它如何包装现有视图并将其转换为 Composable。

来源 - https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-compose-release/ui/ui-android-view/src/main/java/androidx/ui/androidview/ Web组件.kt

于 2020-02-26T06:54:14.217 回答