トーストを使用して2回ボタンを押して終了します


TOostを使用して2回後退して終了


最近、多くのプライマリ・サイトが2回で終了します.
そしてトーストメッセージが表示されます.フラッシュでの作り方を知りましょう
インストールToast
Pubspec.yamlにToastを追加し、Pub getします.
コードの作成
個人プロジェクトはclean architecture形式で記述されるため,ビジネスロジックとUIロジックは別々である.
私の場合、utilフォルダを別途作成し、トーストの論理を作成しました.
DateTime? currentBackPressTime;

onWillPop() {
  DateTime now = DateTime.now();
  if (currentBackPressTime == null ||
      now.difference(currentBackPressTime!) > const Duration(seconds: 2)) {
    currentBackPressTime = now;
    Fluttertoast.showToast(
        msg: "'뒤로' 버튼을 한번 더 누르시면 종료됩니다.",
        gravity: ToastGravity.BOTTOM,
        backgroundColor: const Color(0xff6E6E6E),
        fontSize: 20,
        toastLength: Toast.LENGTH_SHORT);
    return false;
  }
  return true;
}
何時に見ますか.
  • if (currentBackPressTime == null ||
    now.difference(currentBackPressTime!) > const Duration(seconds: 2)) {
    currentBackPressTime = now;
  • ダーツでDateTimenowをnowと宣言する.
    差分メソッドを使用して差分時間を取得します.
    2秒以内に2回後退しないとfalseの最新メッセージが表示されます.
  • WillScopeはScaffoldを包囲しなければならない.
  • WillPopScope(
            onWillPop: () async {
              bool result = onWillPop();
              return await Future.value(result);
            },
            child: Scaffold(
    Future.value()
    指定した結果値を持つfutureのコンストラクション関数を生成します.
    作成したonWillPop()を結果に入れてFuturevalue()に結果を表示します.
    それでは完成!