<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 導航返回攔截WillPopScope 為了避免用戶誤觸返回按鈕而導致APP退出,在很多APP中都攔截了用戶點擊返回鍵的按鈕,當用戶在某一個時間段內點擊兩次時,才會認為用戶是要退出(而非誤觸)。Flutter中可以通過WillPopScope來實現返回按鈕攔截,我們看看WillPopScope的默認構造函數: ``` const WillPopScope({ ... @required WillPopCallback onWillPop, @required Widget child }) ``` onWillPop是一個回調函數,當用戶點擊返回按鈕時調用(包括導航返回按鈕及Android物理返回按鈕),該回調需要返回一個Future對象,如果返回的Future最終值為`false`時,則當前路由不出棧(不會返回),最終值為`true`時,當前路由出棧退出。我們需要提供這個回調來決定是否退出。 ### 示例 為了防止用戶誤觸返回鍵退出,我們攔截返回事件,當用戶在1秒內點擊兩次返回按鈕時,則退出,如果間隔超過1秒則不退出,并重新記時。代碼如下: ``` import 'package:flutter/material.dart'; class WillPopScopeTestRoute extends StatefulWidget { @override WillPopScopeTestRouteState createState() { return new WillPopScopeTestRouteState(); } } class WillPopScopeTestRouteState extends State<WillPopScopeTestRoute> { DateTime _lastPressedAt; //上次點擊時間 @override Widget build(BuildContext context) { return new WillPopScope( onWillPop: () async { if (_lastPressedAt == null || DateTime.now().difference(_lastPressedAt) > Duration(seconds: 1)) { //兩次點擊間隔超過1秒則重新計時 _lastPressedAt = DateTime.now(); return false; } return true; }, child: Container( alignment: Alignment.center, child: Text("1秒內連續按兩次返回鍵退出"), ) ); } } ``` 讀者可以運行示例看看效果。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看