Отдельный StatefulWidget от его InheritedWidget - PullRequest
1 голос
/ 01 апреля 2020

Я сейчас пытаюсь понять, как создать PageView с несколькими пользовательскими панелями приложений сверху. Мне нужны плавные переходы между панелями приложений, поэтому в настоящее время я поместил их в стек поверх верхней части PageView.

Чтобы вызывать функции в моем AppBarStates со своих страниц в PageView, моим AppBars нужны свои собственные InheritedWidget для получения панелей приложений через контекст, например: CustomAppBar.of(context).foo().

В настоящее время AppBars и PageView находятся в одном стеке, что означает, что они не находятся в одном и том же дереве виджетов. Можно ли создать наследуемые виджеты панелей приложений дальше по дереву, а затем связать их с панелями приложений, созданными в стеке?

Пример:

Widget build(BuildContext context){
  return CustomAppBarInheritedWidget(
    child: Stack(
      children: <Widget>[
        PageView(),
        CustomAppBar(),
      ],
    ),
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...