質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

ダイアログ

ユーザーにウィンドウやボックス等の形で個別で表示されるフォームであり、ユーザーに判断を促す目的で表示される。ユーザーが見逃す事のないよう、操作中のフォーム上にポップアップして表示される。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

解決済

1回答

2402閲覧

WebViewを表示した時にダイアログメッセージが表示されない

ringoringogogo

総合スコア15

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

ダイアログ

ユーザーにウィンドウやボックス等の形で個別で表示されるフォームであり、ユーザーに判断を促す目的で表示される。ユーザーが見逃す事のないよう、操作中のフォーム上にポップアップして表示される。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2021/04/22 06:14

Flutter初心者です。

以下のようにWebViewを表示した時にIcons.bookmarkをタップされた時にメッセージを出したいと考えています。
しかし、bodyにWebViewScaffoldを指定するとダイアログが出ません。
(AppBar部分が暗い色に変化します)

クリック前
クリック前

クリック後
クリック後

何が悪いのかがわからなかったのでbody部分にTextを表示させてみました(以下でコメントアウトしている部分を有効にした)が、その時は正しくダイアログが表示されます。

dart

1import 'package:flutter/material.dart'; 2import 'package:flutter_webview_plugin/flutter_webview_plugin.dart'; 3 4const kAndroidUserAgent = 5 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Mobile Safari/537.36'; 6 7class MyWebView extends StatelessWidget { 8 9 10 final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); 11 12 Widget build(BuildContext context) { 13 14 return Scaffold( 15 appBar: AppBar( 16 backgroundColor: Color.fromRGBO(200, 179, 231, 1), 17 leading: IconButton( 18 icon:Icon(Icons.bookmark), 19 onPressed: (){ 20 print("tapped"); 21 showDialog( 22 context: context, 23 builder: (_) { 24 return AlertDialog( 25 title: Text("タイトル"), 26 content: Text("メッセージメッセージメッセージメッセージメッセージメッセージ"), 27 actions: <Widget>[ 28 // ボタン領域 29 FlatButton( 30 child: Text("Cancel"), 31 onPressed: () => Navigator.pop(context), 32 ), 33 FlatButton( 34 child: Text("OK"), 35 onPressed: () => Navigator.pop(context), 36 ), 37 ], 38 ); 39 }, 40 ); 41 } 42 ) 43 ), 44 // body: Center( 45 // child: (Text("TEST", 46 // textAlign: TextAlign.center, 47 // style: TextStyle(fontSize: 30))), 48 // ) 49 50 body: WebviewScaffold( 51 url: "https://news.google.com/topstories?hl=ja&gl=JP&ceid=JP:ja", 52 ) 53 ); 54 } 55 56} 57

解決方法をご存知の方がいらっしゃいましたら恐れ入りますがご教示いただけないでしょうか。

以上よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

この質問を書いた直後に、WebViewPluginが原因かと思い調べると以下のURLを見つけました。大変失礼いたしました。。
対策方法

一旦ダイアログは出たのですがOKボタンを押しても読み込み中のインディケーターがずっと回る状態になってしまいました・・・

引き続き調査します。。

投稿2021/04/22 06:20

ringoringogogo

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問