حالة التراكب داخل الشاشة

مثّل الحوارات والألواح بـ `OverlayRequest?` واعرضها عبر `ScreenOverlayHost` أو `AnimatedScreenOverlayHost`.

فتحة تراكب واحدة

نمذج التراكب بوصفه `OverlayRequest?` ثم امحه لإغلاقه.

دعم الحوارات والألواح

استخدم `DialogRequest` و`BottomSheetRequest` مع بيانات حمولة اختيارية.

التحكم في ترتيب الرجوع

أغلق التراكب أولًا، ثم ادفع الصفحات للخلف، عبر عناصر نطاق الرجوع.

نمط المحلل

ابنِ الواجهة بناءً على مفتاح الصفحة وعدّل قائمة الصفحات بصورة تصريحية.

قاعدة حالة الصفحة

مثال على المحلل

Widget _buildPage(BuildContext context, PageEntry page) {
  switch (page.key) {
    case 'home':
      return HomePage(onGoDetail: _goDetail);
    case 'detail':
      return const DetailPage();
    default:
      return const SizedBox.shrink();
  }
}

void _goDetail() {
  setState(() => _pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')]);
}
مهم

عندما يكون التراكب ظاهرًا، احجب إيماءات الرجوع باستخدام `canPopTop` لتجنب عدم الاتساق في إيماءة الرجوع بالسحب على iOS.