※ 記事にPRが含まれることがあります。
webview_flutter(ウェブビュー フラッター)プラグインのAndroidキーボード不具合の直し方を伝授!
webview_flutterのバージョンアップで、
Androidでのキーボード操作が、やっと直った!
Android端末において、
文字をひとつ入力するごとに
自動的に確定がかかって、
固まってしまう不具合があったのですが……
それが直せます!!
参考 ※ 英語で書いてあります。 |
---|
https://pub.dev/documentation/webview_flutter/latest/ |
※ Flutter SDKのバージョンアップと、
この参考に書いてあるような
ソースコードの追加や設定し直しは必要。
上記の参考ページは英語なので……
対応(修正)方法を、以下に簡単にまとめました。
4つの手順で完了できます!
困っている方は、参考にしてください。
対応方法
手順1
pubspec.yaml で
webview_flutter: ^1.0.1
と記載。
※ 1.0.1は、2020年10月現在のバージョンなので、
もっと、上のバージョンになっていれば、そちらを記載!
手順2
Android時のための特別処理の前準備。
ソースコードで、
import ‘dart:io’;
を呼び出すようにする。
後で、Platform.isAndroid
といったようにPlatformで使うので、その準備!
例) |
---|
import ‘dart:io’;
import ‘package:webview_flutter/webview_flutter.dart’; |
手順3
Android時のための特別処理が必要。
void initState()の
super.initState();の下で、
if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
を書く。
例) |
---|
super.initState();
if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView(); |
全体 例) |
---|
import ‘dart:io’;
import ‘package:webview_flutter/webview_flutter.dart’; class WebViewExample extends StatefulWidget { @override |
手順4
最小SDKバージョンを19に上げる。
/android/app/build.gradle
の
minSdkVersion 19
に変更。これで、完了!簡単!!
例) |
---|
android { defaultConfig { minSdkVersion 19 } } |
上記を対応しても、問題が出た場合
webview_flutterプラグインの
1.0以上を使うには、
Flutter SDKのバージョンも上げる必要がある。
アプリをテスト起動しようとすると英語で
「Flutter SDKのバージョンが古くて使えない」
みたいなエラーが出る。
(エラー文を保存しておくのを忘れました……)
Flutterをインストールした
ディレクトリで、コマンド
flutter –version
でバージョンを確認。
コマンド
flutter upgrade
でバージョンアップが出来る。
完了したら、再度、コマンド
flutter –version
で、Flutter SDKのバージョンが
上がっていることを確認する。