Я занимаюсь разработкой приложения и сейчас сталкиваюсь с одной проблемой. Проблема в том, что содержимое TabBarView попадает под закрепленные TabBar (SliverPersistentHeader) и SliverAppBar. На этой фотографии все задокументировано Вот пользовательский интерфейс, которого я хочу достичь Описанная проблема Здесь мы ясно видим проблему SliverAppBar работает хорошо
Этот интерфейс работает довольно хорошо, за исключением этой проблемы, я попытался обернуть SliverPersistentHeader с SliverSafeArea и SliverOverlapAbsorber, и он не работает. Это случилось ... SliverPersistentHeader, обернутый SliverSafeArea и SliverOverlapAbsorber
SliverOverlapAbsorber(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(
context),
child: SliverSafeArea(
bottom: false,
top: false,
sliver: SliverPersistentHeader(
delegate: _SliverAppBarDelegate(
_buildTabBar(),
),
pinned: true,
),
),
),
class _SliverAppBarDelegate extends SliverPersistentHeaderDelegate {
_SliverAppBarDelegate(this._tabBar);
final PreferredSize _tabBar;
@override
double get minExtent => _tabBar.preferredSize.height;
@override
double get maxExtent => _tabBar.preferredSize.height;
@override
Widget build(
BuildContext context, double shrinkOffset, bool overlapsContent) {
return new Container(
color: Colors.white,
child: _tabBar,
);
}
@override
bool shouldRebuild(_SliverAppBarDelegate oldDelegate) {
return false;
}
}
Здесь вы можете скачать код всей моей страницы https://ufile.io/xf8qfzjn