как сделать так, чтобы панель приложения оставалась постоянной на всей странице? Я попытался создать отдельный файл, а затем импортировать его в свойстве ящика, но он не работает ... есть ли другой способ сделать это?
как заставить панель приложений оставаться на всех страницах в трепете?
Ответы (2)
Виджет панели приложений не похож на любой другой виджет, AppBar реализует класс PreferredSizeWidget, что означает, что AppBar должен иметь предпочтительный размер. Вам необходимо создать собственный класс для вашего appBar.
class MycustomAppBar extends StatelessWidget implements PreferredSizeWidget {
String title;
@override
final Size preferredSize;
MycustomAppBar({@required this.title}) : preferredSize = Size.fromHeight(60.0);
@override
Widget build(BuildContext context) {
return SafeArea(
child: Column(/*Do your desinging*/),
);
}
}
из того, что я понял из настойчивых. Вы хотите, чтобы эта панель приложений оставалась статичной при смене страниц. Для этого вы должны создать и использовать единый каркас для каждой страницы вместо создания нового каркаса для каждой страницы. Вы должны создать виджеты с телами разных страниц, а затем установить эти виджеты в основной корпус скаффолда, используя некоторые условия в setState. Обратите внимание, поскольку вы будете использовать setState, вам необходимо использовать виджет с отслеживанием состояния.
Здесь подробно статья о том, как это сделать с нижней панелью навигации.