👺

【Flutter】ボトムバーを非表示にする

に公開

はじめに

Flutterでボトムバーを実装しています。
ログイン後に、アカウント削除をした場合に、ログイン画面に遷移する、ということを行いたかったのですが、少し悲しいことになりました。
 


アカウント削除してログイン画面に遷移すると・・・
 

ログイン画面にボトムバーが表示されている
 


再度ログインするともっと悲惨なことに
 

ということで、ボトムバーが二重に表示されるようになってしまいました。
メインメソッドを呼び直すとか色々考えたのですが、なんのことはない、ログイン画面に遷移する際に、ボトムバーを消せば良いだけでした。

ボトムバーを非表示にする

遷移先の画面でボトムバーを非表示にしたい場合、PersistentNavBarNavigator.pushNewScreenを利用します。
その際に、withNavBarをfalseに設定することで、遷移先の画面でボトムバーを非表示に設定することができます。

AwesomeDialog(
    context: context,
    dialogType: DialogType.warning,
    animType: AnimType.rightSlide,
    title: 'アカウント情報を削除しますか?',
    desc: '登録したダイアリーも全て削除されます。',
    btnOkOnPress:() async {
        // アカウントの削除
        final auth = FirebaseAuth.instance;
        String userId = auth.currentUser!.uid.toString();

        // ログイン画面へ遷移する
        PersistentNavBarNavigator.pushNewScreen(
            context,
            screen: MyApp(), // 遷移先の画面を指定
            withNavBar: false // falseに設定し、遷移先画面でボトムバーを非表示にする
        );
    },
    btnCancelOnPress: () {
    },
).show();

Discussion