Детермінована поведінка повернення
Визначте єдину політику повернення, щоб закриття оверлеїв і вилучення елементів зі стеків завжди відбувалися в одному й тому самому порядку.
Спершу оверлеї
Закривайте активні оверлеї перед вилученням елементів зі стеків сторінок.
Врахування кореня
Коли довжина стека дорівнює одному, делегуйте дію батьківському елементу замість примусового pop.
Врахування вкладок
У режимі вкладок спочатку перейдіть до першої вкладки в корені, а вже потім запускайте обробку виходу на рівні застосунку.
Патерн керування поверненням
Використовуйте DeclarativePagesBackScope для стеків сторінок і колбеків вкладок для коренів вкладок.
Політика повернення
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.
Попередній
Декларативні вкладкиНаступний
Антипатерни