本エントリではwebview_flutterでリロード機能を実装する方法を説明する。
webview_flutterとは
webview_flutterとはFlutterアプリ内でWebviewを表示するためのパッケージ。
内部的には各プラットフォームごとに以下の仕組みを利用してWebviewを動作させている。
webview_flutterの基本的な使用方法は以下のエントリを参照。
webviewとは何か、という点については以下のリンクなどを参照。
リロード機能の実装方法
画面をリロードするためにはWebViewControllerのreload()を使用する。
例として次のサンプルアプリをベースに説明する。
全体のコードは以下。
以降でポイントを説明していく。
WebViewControllerのインスタンス化
WebViewControllerでリロードをするので、まずインスタンス化する。
onWebViewCreatedの設定
onWebViewCreatedでWebviewが作成された時に実行されるイベントハンドラを指定する。
ここでWebviewのコントローラーをインスタンスにコピーする。
リロード処理
コントローラーのreload()メソッドでWebviewをリロードすることができる。 サンプルアプリではElevatedButtonをタップすることでreload()メソッドを実行している。