[解決済み] FlutterでAndroidの "BACK "ボタンを無効化または上書きする方法は?
2022-04-14 08:04:43
質問
特定のページで、Androidの戻るボタンを無効にする方法はありますか?
class WakeUpApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: "Time To Wake Up ?",
home: new WakeUpHome(),
routes: <String, WidgetBuilder>{
'/pageOne': (BuildContext context) => new pageOne(),
'/pageTwo': (BuildContext context) => new pageTwo(),
},
);
}
}
pageOneにpageTwoに移動するボタンがあります。
new FloatingActionButton(
onPressed: () {
Navigator.of(context).pushNamed('/pageTwo');
},
)
問題は、アンドロイドの画面下にある戻る矢印を押すと、pageOneに戻ることです。このボタンを全く表示させないようにしたいのです。 理想を言えば、例えばユーザーが5秒間スクリーンを指で押し続けない限り、このスクリーンから出ることができないようにしたいのです。(私は幼児向けのアプリを書こうとしており、親だけが特定のスクリーンからナビゲートできるようにしたい)。
どのように解決するのですか?
答えは
WillPopScope
. これによって、システムによってページがポップアップされるのを防ぐことができます。この場合でも
Navigator.of(context).pop()
@override
Widget build(BuildContext context) {
return new WillPopScope(
onWillPop: () async => false,
child: new Scaffold(
appBar: new AppBar(
title: new Text("data"),
leading: new IconButton(
icon: new Icon(Icons.ac_unit),
onPressed: () => Navigator.of(context).pop(),
),
),
),
);
}
関連
-
[解決済み] Flutterのデバッグバナーを削除するにはどうしたらいいですか?
-
[解決済み] Flutterで丸みを帯びたボタン/border-radius付きボタンを作成する
-
[解決済み】Flutterでウィジェットをプログラム的に表示・非表示にする方法
-
[解決済み】Flutter: 未処理の例外です。バインディングが初期化される前にServicesBinding.defaultBinaryMessengerにアクセスされました。
-
[解決済み】flutterはアプバー上の戻るボタンを削除します。
-
[解決済み] [Solved] Flutter: How to make TextField with HintText but no Underline?
-
[解決済み] Flutter SDK(Dart 1.x)をダウングレードする方法
-
[解決済み] 依存関係がヌルセーフティをサポートしていないため、サウンドヌルセーフティで実行できない
-
[解決済み] Flutterで "すりガラス "のような効果を出すには?
-
[解決済み] FlutterでtextAlignプロパティはどのような状況で動作しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] flutterで文字に下線を引く方法
-
Solve flutter Android ライセンスの状態が不明です。Android SDK Managerを再インストールまたはアップデートしてみてください。
-
[解決済み】Flutter - オーバーフロー時にテキストを折り返し、省略記号の挿入やフェードを行う
-
[解決済み】FlutterでToastを作成する方法
-
[解決済み】Flutterでウィジェットをプログラム的に表示・非表示にする方法
-
[解決済み] Flutterアプリでインターネット接続が可能かどうかを確認する
-
[解決済み] 依存関係がヌルセーフティをサポートしていないため、サウンドヌルセーフティで実行できない
-
[解決済み] Flutterで「戻る」ボタンを上書きするには?[重複している]。
-
[解決済み] Flutterで "すりガラス "のような効果を出すには?
-
[解決済み] 画面の高さと幅の決め方