すらぼうの開発ノート

モバイルアプリエンジニアのメモ

【Flutter】webview_flutterでリロード機能を実装する

本エントリではwebview_flutterでリロード機能を実装する方法を説明する。

webview_flutterとは

pub.dev

webview_flutterとはFlutterアプリ内でWebviewを表示するためのパッケージ。

内部的には各プラットフォームごとに以下の仕組みを利用してWebviewを動作させている。

webview_flutterの基本的な使用方法は以下のエントリを参照。

note-tmk.hatenablog.com

webviewとは何か、という点については以下のリンクなどを参照。

mgre.jp


リロード機能の実装方法

画面をリロードするためにはWebViewControllerのreload()を使用する。

pub.dev

例として次のサンプルアプリをベースに説明する。

サンプルアプリUI

全体のコードは以下。

以降でポイントを説明していく。

WebViewControllerのインスタンス

WebViewControllerでリロードをするので、まずインスタンス化する。

onWebViewCreatedの設定

onWebViewCreatedでWebviewが作成された時に実行されるイベントハンドラを指定する。

ここでWebviewのコントローラーをインスタンスにコピーする。

リロード処理

コントローラーのreload()メソッドでWebviewをリロードすることができる。 サンプルアプリではElevatedButtonをタップすることでreload()メソッドを実行している。