Android Anko Kotlin-预加载视图

问题描述 投票:0回答:1

[我对Android中的Kotlin有点陌生,我已经注意到Anko库提供了一个不错的布局创建工具,用于滑动活动视图并使用代码定义视图。

我正在尝试使用Anko定义不同的模板视图以显示异步,但是在显示新视图之前,我想预加载它,例如网页或远程图像等。

我无法找到任何可行的信息。

    override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
        super.onCreate(savedInstanceState, persistentState)
        MyActivityUI().load("http://some.address.ip")
        val handler = Handler()
        handler.postDelayed({
            MyActivityUI().setContentView(this)
        }, 5000)
    }
}

class MyActivityUI : AnkoComponent<MyActivity> {
    lateinit var wv: WebView

    override fun createView(ui: AnkoContext<MyActivity>) = with(ui) {
        verticalLayout {
            wv = webView {
                webViewClient = WebViewClient()
            }.lparams(width = matchParent, height = matchParent)
        }
    }
}

这是局部的,但显示了我打算做什么,因此当5s计时器完成时,网页已经加载到视图中,而不是开始加载

有什么建议吗?

android kotlin anko
1个回答
0
投票

要确切回答您的问题,您可以保留对父视图的引用,然后调用addView并将其传递给Webview。但是,您可以考虑将可见性设置为View.GONE / View.INVISIBLE,我不确定确切是什么您的目标是。还可以考虑使用确定页面完成加载的回调,而不是一般的5秒。希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.