как заставить панель приложений оставаться на всех страницах в трепете?

как сделать так, чтобы панель приложения оставалась постоянной на всей странице? Я попытался создать отдельный файл, а затем импортировать его в свойстве ящика, но он не работает ... есть ли другой способ сделать это?


person Sanjana    schedule 14.05.2021    source источник
comment
Можете ли вы показать свой код или примеры того, что вы уже пробовали? Произошла какая-то ошибка? Таким образом мы сможем увидеть, чего вы пытаетесь достичь, а что пошло не так.   -  person Naslausky    schedule 14.05.2021


Ответы (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*/),
    );
   }
 }
person Chirag Bargoojar    schedule 14.05.2021

из того, что я понял из настойчивых. Вы хотите, чтобы эта панель приложений оставалась статичной при смене страниц. Для этого вы должны создать и использовать единый каркас для каждой страницы вместо создания нового каркаса для каждой страницы. Вы должны создать виджеты с телами разных страниц, а затем установить эти виджеты в основной корпус скаффолда, используя некоторые условия в setState. Обратите внимание, поскольку вы будете использовать setState, вам необходимо использовать виджет с отслеживанием состояния.

Здесь подробно статья о том, как это сделать с нижней панелью навигации.

person D C    schedule 14.05.2021