屏幕加载Web视图应打开时,不带按钮打开Web视图

时间:2019-09-02 15:23:12

标签: flutter dart flutter-layout

我已经应用了Web视图,但是我遇到了一个问题,当我单击该按钮时,我在另一个屏幕上打开了“给我们评分”按钮,其中有一个“打开链接”按钮,但是我单击它却打开了Web视图,但是我没有想要获得内部屏幕。我想当我单击“为我们评分”按钮时,它应该打开Web视图,而不是打开一个新屏幕。我知道如何在不点击按钮的情况下导航到新屏幕或URL,但是对此行Navigator.of(context).pushNamed(“ / webview”);

class rateus extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      routes: {
        "/": (_) => Home(),
        "/webview": (_) => WebviewScaffold(
          url: url,
          appBar: AppBar(
            title: Text("WebView"),
          ),

        ),

      },
    );
  }
}
class Home extends StatefulWidget {
  @override
  HomeState createState() => HomeState();
}

class HomeState extends State<Home> {
  final webView = FlutterWebviewPlugin();
//  TextEditingController controller = TextEditingController(text: url);
  @override
  void initState() {
    super.initState();
    webView.close();
  }
  @override
  void dispose() {
    webView.dispose();
//    controller.dispose();
    super.dispose();
  }
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      child: Text("Open Webview"),
      onPressed: () {
Navigator.of(context).pushNamed("/webview");
      },
    );
  }
}

1 个答案:

答案 0 :(得分:0)

如果我说对了,您需要:

import 'dart:async'; // import this library

@override
void initState() {
  super.initState();

  // as soon widget is ready you navigate to the webview. 
  Timer.run(() {
    Navigator.of(context).pushNamed("/webview");
  });
}