概要
Flutterが基本的提供するBackButton
ウィジェットを使って以前の画面に移動する方法について説明します。
AppBarの戻るボタン
今までアプリを開発する時、AppBar
の戻るボタンを次のように実装して使ってきました。
AppBar(
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios_new),
splashRadius: 20.0,
onPressed: () => Get.back(),
),
...
),
私はGetX
を使ってアプリを開発しているため、Get.back()
を使って画面を戻るように実装しました。
BacckButtonウィジェット
しかし、Flutterが基本的提供するBackButton
ウィジェットを使うと、戻るボタンをもっと簡単に実装することができます。
AppBar(
leading: const BackButton(),
...
),
AppBarのautomaticallyImplyLeading
AppBar
のautomaticallyImplyLeading
オプションを使うと、BackButton
を自動的に表示または非表示にすることができます。AppBar
のautomaticallyImplyLeading
のデフォルト値はtrue
なので、上記のようにBackButton
を使わなくてもAppBar
に戻るボタンが表示されます。
AppBar(
...
),
BackButtonの活用
AppBar
のautomaticallyImplyLeading
オプションをfalse
に設定しない限り、デフォルトでBackButton
が表示されるため、わざわざBackButton
を使う必要はありません。
しかし、前の画面に戻る時に特定の関数を呼び出す必要がある場合、次のようにBackButton
を使って実装することができます。
AppBar(
leading: BackButton(
onPressed: () {
callback();
Get.back();
},
),
...
),
完了
これでFlutter
が基本的提供するBackButton
ウィジェットについて説明しました。私のようにBackButton
の存在を知らずに直接IconButton
で実装していた場合は、BackButton
を使ってもっと簡単に実装してみてください。
また、AppBar
のleading
に何も機能を持たないBackButton
を使っている場合、AppBar
のオプションであるautomaticallyImplyLeading
を使って戻るボタンが自動的に表示されることも忘れないでください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。