У меня есть следующий код флаттера (извлечение), контроллеры прокрутки и контроллер вкладок определены и создаются при инициализации.
new Scaffold(
body: new NestedScrollView(
controller: _scrollViewController,
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
return <Widget>[
new SliverAppBar(
title: new Text(widget.title),
pinned: true,
floating: true,
forceElevated: innerBoxIsScrolled,
bottom: new TabBar(
tabs: <Tab>[
new Tab(text: "STATISTICS"),
new Tab(text: "HISTORY"),
],
controller: _tabController,
),
),
];
},
body: new TabBarView(
children: <Widget>[
new StatisticsPage(),
new HistoryPage(),
],
controller: _tabController,
),
),
);
Моя цель - создать нечто похожее на это
<img src="https://i.stack.imgur.com/9tNaj.gif"/>
Однако это работает только тогда, когда я использую виджеты без состояния в качестве дочерних элементов моего представления панели вкладок. Я хотел бы использовать класс для отображения моей страницы в соответствии с классом ниже
class MyEasySearch extends StatefulWidget {
MyEasySearch({Key key, this.title}) : super(key: key);
final String title;
@override
_EasySearchState createState() => _EasySearchState();
}
class _EasySearchState extends State<MyEasySearch>
with AutomaticKeepAliveClientMixin {}
Однако, когда я использую класс, указанный выше, как дочерний элемент моего представления панели вкладок, панель приложения ленты не прокручивается с точки зрения, если я использую виджет без сохранения состояния или простой текстовый виджет, например, Text ('Образец текста'), он работает как ожидалось.
Кто-нибудь еще сталкивался с этой проблемой?