[Flutter]WillPopScopeとは

このページには広告が含まれる場合があります。

 

Flutterで複数画面のアプリを作る時に、次の画面にNavigator.pushメソッドで遷移させて、前の画面の上に次の画面を開く状態にすると、

画面上部のアプリバー(AppBar)に、戻る矢印と、その戻る矢印を押すと前の画面に戻る(Navigator.pop)機能が自動的に実装されています。

しかし、逆に戻る矢印を押した際にいきなり前の画面に戻るのではなく、何か処理をしたい場合がありますが、その場合は上記の前の画面に戻る機能がコード上に存在しないため、そうした制御ができないというデメリットがあります。

そこで登場するのが「WillPopScope」で、

  • 前の画面に戻る処理を一旦止めて(AppBarをWillPopScopeで包む)
  • 何か他の処理を挟んだ上で(onWillPop属性の設定)、
  • その処理が完了したら前の画面に戻るか、戻らないかの制御をかける(onWillPop属性の戻り値(bool)による制御)

ことができます(下の例では、前の画面に戻る前にダイアログを表示させる処理を行っています)

(詳しくは、以下の動画で解説していますので、よろしければご覧ください)

こんな記事も読まれています


今すぐ無料お試しキットを受け取る

はじめての方へ


みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

みんプロ作成アプリ





TOP