พฤติกรรมการย้อนกลับที่กำหนดแน่นอน

กำหนดนโยบายการย้อนกลับเพียงแบบเดียว เพื่อให้การปิดโอเวอร์เลย์และการ pop สแตกเกิดในลำดับเดียวกันเสมอ

โอเวอร์เลย์มาก่อน

ปิดโอเวอร์เลย์ที่กำลังใช้งานอยู่ก่อน pop สแตกของหน้า

รับรู้ราก

เมื่อสแตกเหลือเพียงหนึ่งรายการ ให้ส่งต่อไปยังพฤติกรรมของ parent แทนการ force-pop

รับรู้แท็บ

ในโหมดแท็บ ให้ย้ายไปยังแท็บแรกที่รากก่อนเริ่มการจัดการออกจากแอป

รูปแบบ Back Scope

ใช้ DeclarativePagesBackScope สำหรับสแตกของหน้าและ callback ของแท็บในรากของแท็บ

นโยบายการย้อนกลับ

DeclarativePagesBackScope

return DeclarativePagesBackScope(
  pages: _pages,
  popTopPage: _popTop,
  isOverlayVisible: _overlay != null,
  dismissOverlay: _dismissOverlay,
  onBackAtRoot: _onBackAtRoot,
  child: DeclarativePagesNavigator(
    pages: _pages,
    buildPage: _buildPage,
    onPopTop: _popTop,
    canPopTop: () => _overlay == null,
  ),
);
ความเสถียรของ UX

ควรรักษา ลำดับเดียวที่สอดคล้องกันสำหรับเหตุการณ์ย้อนกลับทั้งหมด เพื่อหลีกเลี่ยงความสับสนของผู้ใช้ระหว่างปุ่มย้อนกลับของระบบ Android กับท่าทาง iOS