gpt4 book ai didi

flutter - 如何以编程方式扩展 SliverAppBar

转载 作者:IT王子 更新时间:2023-10-29 07:02:32 25 4
gpt4 key购买 nike

我有一个 SliverAppBar,向上滚动可缩小,向下滚动可展开。

我想在切换 BottomNavigationBar 时扩展 SliverAppBar。

当前情况下,SliverAppBar保持切换前的状态。

这是我的代码。 https://gist.github.com/ysknsn/d90a84a180e32de5b0691de874c65d55

任何建议都是有帮助的。谢谢。

最佳答案

只需对 TabController 做同样的事情...

把它放在一个局部变量中:

  TabController _tabController;
ScrollController _scrollController;

int _selectedIndex = 0;

@override
void initState() {
_tabController = TabController(vsync: this, length: 2);
_scrollController = ScrollController(keepScrollOffset: true);
super.initState();
}

然后在你的 NestedScrollView 中使用它`

  @override
Widget build(BuildContext context) {
return Scaffold(
body: DefaultTabController(

length: _tabController.length,
child: NestedScrollView(
controller: _scrollController,
key: PageStorageKey(widget.title),
...

然后在点击时更新位置:

  void _onItemTapped(int index) {
_scrollController.jumpTo(0);
setState(() {
_selectedIndex = index;
_tabController.index = index;
});
}

关于flutter - 如何以编程方式扩展 SliverAppBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56938250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com