美文网首页
Jetpack Compose 加载网页实现方式

Jetpack Compose 加载网页实现方式

作者: 海龙lv | 来源:发表于2021-06-07 09:04 被阅读0次

    Jetpack Compose 加载网页实现方式

    由于Kotlin的Jetpack Compose是一种响应式的UI搭建框架,所以传统的安卓界面搭建的逻辑和布局直接运用在Jetpack Compose上是行不通,感觉上不是一个维度的东西,但是可以借助Jetpack Compose提供的一个函数(AndroidView)来实现,比如网页的加载:

    代码如下:

    @Composable
    fun WebView(modifier: Modifier, token: String, id: String) {
        AndroidView(
            modifier = modifier,
            factory = { context ->
                val webView = WebView(context)
                webView.settings.javaScriptEnabled = true
                webView.settings.javaScriptCanOpenWindowsAutomatically = true
                webView.settings.domStorageEnabled = true
                webView.settings.loadsImagesAutomatically = true
                webView.settings.mediaPlaybackRequiresUserGesture = false
                webView.webViewClient = WebViewClient()
                webView.loadUrl("http://h5.tdweilai.com/#/article/list/index/青岛/$id/$token")
                webView
            })
    }
    

    上述代码中的WebView就是传统安卓的一个view的子类,但是通过AndroidView函数就可以将其在Jetpack Compose中实现。

    Jetpack Compose网页加载
    当然,在当前Jetpack Compose还是beta版本,所以如果真的要实现一个企业级需求的项目的话,可能在Compose的开源资源框架缺少的情况下,利用此种方式,将安卓传统的“嫁接”到Compose中。这个有点类似iOS的Swift开发,要用到某些Objective-C的三方库类似

    相关文章

      网友评论

          本文标题:Jetpack Compose 加载网页实现方式

          本文链接:https://www.haomeiwen.com/subject/jhwxeltx.html