Flutter 在颤振中等待Webview加载页面的解决方案显示加载
我得装货。我过去经常这样做。它在加载时损失了几秒钟。我想显示加载视图,直到Webview完成加载页面。我的想法是使用堆栈和加载视图来代替webview。但我不知道在webview完成后如何删除加载视图。有什么解决办法吗Flutter 在颤振中等待Webview加载页面的解决方案显示加载,flutter,Flutter,我得装货。我过去经常这样做。它在加载时损失了几秒钟。我想显示加载视图,直到Webview完成加载页面。我的想法是使用堆栈和加载视图来代替webview。但我不知道在webview完成后如何删除加载视图。有什么解决办法吗 Widget loadTradingView() { return Container( color: Colors.black, height: Get.width, child: Stack(children: [
Widget loadTradingView() {
return Container(
color: Colors.black,
height: Get.width,
child: Stack(children: [
loadingView(),
WebView(
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (webController) {
_loadHtmlFromAssets(webController);
},
onPageFinished: (str) {
print('done');
},
onPageStarted: (str) {
print('start');
},
),
]),
);
}
只需在有状态小部件中使用webview并调用
setState
即可显示/隐藏加载程序。示例代码:
类WebViewWidget扩展StatefulWidget{
WebViewWidget({Key}):超级(Key:Key);
@凌驾
_WebViewWidgetState createState()=>\u WebViewWidgetState();
}
类_WebViewWidgetState扩展状态{
var_加载=错误;
@凌驾
小部件构建(构建上下文){
返回容器(
颜色:颜色,黑色,
高度:Get.width,
子:堆栈(子:[
如果(\u加载)加载视图(),//显示/隐藏加载程序取决于[\u加载]标志
网络视图(
javascriptMode:javascriptMode.unrestricted,
onWebViewCreated:(网络控制器){
_loadHtmlFromAssets(网络控制器);
},
onPageFinished:(str){
打印(“完成”);
设置状态(){
_加载=假;
});
},
onPageStarted:(str){
打印(“开始”);
设置状态(){
_加载=真;
});
},
),
]),
);
}
}