[我对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计时器完成时,网页已经加载到视图中,而不是开始加载
有什么建议吗?
要确切回答您的问题,您可以保留对父视图的引用,然后调用addView并将其传递给Webview。但是,您可以考虑将可见性设置为View.GONE / View.INVISIBLE,我不确定确切是什么您的目标是。还可以考虑使用确定页面完成加载的回调,而不是一般的5秒。希望这可以帮助。