как предварительно загрузить виджет веб-просмотра Flutter

Я использую webview_flutter.

Могу ли я предварительно загрузить виджет веб-просмотра при запуске приложения и повторно использовать один и тот же виджет в приложении несколько раз?

  WebView webview = buildWebview();

  Widget getWebview() {
    return webview;
  }

  Widget buildWebview() {
    return WebView(
      key: GlobalKey(),
      onWebViewCreated: (WebViewController webViewController) {
          print("WebView is Created");
      },
      ...
    );
  }

Это то, что я пробовал, но кажется, что WebView создается, когда виджет отображается на экране, а не при запуске приложения. И когда я снова вызываю getWebview(), снова создается WebView.

2 ответа

В случае, если вы хотите предварительно загрузить все свои страницы при запуске, вы можете использовать indexed stack в классе, где ты TabBar объявляется.

Оберните тело и вызовите все соответствующие страницы, как указано ниже:

Widget build(BuildContext context) {
   return
    Scaffold(
      body:IndexedStack(
               index: _selectedIndex, children: _children,
             ),),}

Хорошая инициатива и идея.

Вы действительно можете это сделать

В файле main.dart вызовите этот класс. это заставит приложение запускать приложение с вашим предпочтительным веб-просмотром каждый раз при запуске приложения.

А для повторного использования класса снова и снова создайте другой класс и загрузите этот веб-просмотр. Затем вызовите или импортируйте и используйте этот класс при необходимости.

Другие вопросы по тегам