#flutter #webview
#flutter #webview
Вопрос:
Я пытаюсь отобразить экран загрузки при нажатии на веб-страницу в webview с помощью flutter. экран загрузки отображается после заставки. Но он не отображается после нажатия на ссылку в webview.
class _HomeState extends State<Home> {
bool isLoading;
@override
void initState() {
isLoading = true;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body:Stack(
children: <Widget>[
new WebView(
initialUrl:"https://abcdef.com/",
javascriptMode:JavascriptMode.unrestricted,
onPageFinished: (_) {
setState(() {
isLoading = false;
});
},
),
isLoading ? Center( child: CircularProgressIndicator()) : Container(),
],
),
);
}
}
Ответ №1:
Добавьте onPageStarted
обратный вызов к своему Webview
, затем установите isLoading
на true
Вот так
Webview(
initialUrl:"https://abcdef.com/",
javascriptMode:JavascriptMode.unrestricted,
onPageStarted: (_){
setState(() => isLoading = true);
},
onPageFinished: (_) {
setState(() {
isLoading = false;
});
},
}