首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter 首页必用组件NestedScrollView

今天介绍的组件是NestedScrollView,大部分的App首页都会用到这个组件。 NestedScrollView 可以在其内部嵌套其他滚动视图的组件,其滚动位置是固有链接的。...在普通的ScrollView中, 如果有一个Sliver组件容纳了一个TabBarView,它沿相反的方向滚动(例如,允许用户在标签所代表的页面之间水平滑动,而列表则垂直滚动),则该TabBarView...例如,浏览内部列表以滚动到顶部不会导致外部ScrollView中的SliverAppBar折叠以展开。...滚动隐藏AppBar 比如实现如下场景,当列表滚动时,隐藏AppBar,用法如下: NestedScrollView( headerSliverBuilder: (BuildContext context...Tab(text: '技术'), ], ), ), ), ]; }, body: TabBarView

4.3K10

Flutter入门指北(Part 8)之Sliver 组件及NestedScrollView

因为在 CustomScrollView 中只允许传入 Sliver 部件,那么类似 Container 等普通部件就不可以使用了,那么这样就需要更多的 Sliver 组件才能完成视图,所以为了方便,直接通过...SliverPersistentHeader Flutter 中,为我们提供了这么一个作为头部的部件 SliverPersistentHeader,这个部件可以根据滚动的距离缩小高度,有点类似 SliverAppBar...糟透了的翻译 X 1:一个内部能够嵌套其他滚动部件,并使其滚动位置联结到一起的滚动部件 /// The most common use case for this widget is a scrollable...assert 中的文字 糟透了的翻译 X 5:sliverOverlapAbsorberHandleFor 传入的参数 context 中必须包含 NestedScrollView SliverOverlapAbsorber...分析完源码后,例子的目标很明确,使用 SliverAppBar + TabBar + TabBarView,先看下最后的效果图吧 ?

2.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flutter NestedScrollView实现的一个经典滑动折叠头部图片的效果

    Flutter NestedScrollView 滑动组件是用来处理复杂情况下的滑动应用场景,如向上滑动视图时,要折叠隐藏一部分内容,这时候就需要使用到 NestedScrollView 与 SliverAppBar...在本节中是使用 NestedScrollView 结合 SliverAppBar 与 TabBar 、TabBarView 实现的折叠头部效果undefined 【x1】微信公众号的每日提醒 随时随记...装载了三个 Widget ,当然在实际应用场景中,你也可以使用独立的 StatefulWidget 来使用,代码如下: TabBarView buildTabBarView() { return...(); ///这里的 3 代表有三个子 Item ///应用到 TabBarView 中,对应其中3个子Item ///应用到 TabBar中,对应其中32上子Item tabController...是配置在 SliverAppBar 中的 bottom 属性下,通过 buildTabBar 方法来封装的, 代码如下: TabBar buildTabBar() { return TabBar(

    2.8K11

    Flutter可滑动组件

    在Android中,我们可以使用ListView或RecyclerView来实现,在Ios中,我们可以通过UITableView来实现。...在Flutter中,我们也有对应的列表Widget,就是ListView。 注意:在Flutter里面想要实现滑动效果,都需要在组件外部包裹滚动的视图。...在Flutter中我们可以使用GridView来实现,使用方式和ListView也比较相似。...4.滚动事件监听 4.1 滚动事件监听介绍 对于滚动的视图,我们经常需要监听它的一些滚动事件,在监听到滚动事件时执行对应的操作。...比如视图滚动到底部时,我们可能希望做上拉加载更多;比如滚动到一定位置时显示一个回到顶部的按钮,点击回到顶部的按钮,回到顶部;比如监听滚动什么时候开始,什么时候结束; 在Flutter中监听滚动相关的内容由两部分组成

    7.2K30

    Flutter中的AppBar、TabBar和TabController——顶部切换栏是如何实现的

    顶部TabBar切换栏实现的第一种方式 在Flutter中,AppBar用于定义顶部的导航栏: Scaffold( appBar: AppBar( title: Text("AppBarPageDemo...centerTitle,标题是否居中显示(无论是iOS还是Android) isScrollable,顶部TabBar是否可以滚动。...2,TabBar的tabs中的Tab元素,以及TabBarView的children中的页面元素是一一对应的,对应好了之后就可以在页面中对应展示了。...但是有些时候,我们会遇到不可自定义原始的AppBar的场景,而我们又想实现顶部TabBar的效果,此时我们就可以在页面中再加一个Scaffold组件,然后这样就有两个AppBar了。...3,在页面的state(_TabBarControllerPageState)中要声明并初始化一个TabController实例 (_tabController) 4,在 TabBar 和 TabBarView

    10.9K20

    【Flutter】顶部导航栏实现 ( Scaffold | DefaultTabController | TabBar | Tab | TabBarView )

    : 该组件是被导航的组件 , 设置多个布局结构 , 同时只能显示一个 ; DefaultTabController : 该组件用于关联控制 TabBar 和 TabBarView 组件 ; 界面组件中...中定义的 TabBar 和 TabBarView 就会被关联再一起 ; 注意三个相等的值 : DefaultTabController length 长度 等于 TabBar 子组件个数 等于 TabBarView...结合起来使用 ; TabBar 中 Tab 子组件的个数 , TabController 中的 length 长度 , TabBarView 中子组件的个数 , 三者必须相等 ; TabBar 构造函数...导航主体内容组件 ---- 显示 TabBar 中当前选中的 Tab 标签对应的组件 ; TabBarView 初始化时 , 可以只为其设置 children 参数 , 类型是 ListTabBarView 中显示的组件 class TabContent extends StatelessWidget { const TabContent({Key key, this.data})

    2.9K40

    小Q项目框架搭建及会动的Tabbar未完待续,持续更新中

    6中去掉了pch,为了一些琐碎的头文件引用,加快了 编译速度!...习惯了pch的小伙伴们很不适应,比如我,添加方法如下: (1)创建command+n ----> PCH File (2)配置,在工程的TARGETS里边Building Setting中搜索Prefix...文件的工程路径,添加格式: “$(SRCROOT)/项目名称/pch文件名” 可能出现问题: Paste_Image.png 原因,路径不对,到工程路径下一级一级比对,做相应的加减(不会的自行百度...) 在pch文件中添加常用的宏 如下: //16进制颜色 #define UIColorFromRGB(rgbValue) [UIColor \ colorWithRed:((float)((rgbValue...里面导入POP动画 pod 'pop' 然后在终端中 pod install 在需要动画的地方加入如下代码: POPSpringAnimation *scaleAnimation = [POPSpringAnimation

    72640

    Flutter | 容器组件

    所以在开发中如果要对子组件进行限制,那么就一点要注意,因为一旦限制指定条件,子组件如果要进行相关自定义大小时将可能非常困难!...在实际开发中,当我们发现已经使用了 SizedBox 或者 ConstrainedBox 给定子元素宽高,但是仍然没有效果时,几乎可以断定:已经有父元素设置了限制!...Text 被放大后,占用的空间依然是红色的部分,所以第二个 Text 就会挨着红色的部分,最终就会出现重合 由于矩阵变换只会作用在绘制阶段,所以在某些场景下,在 UI 需要变化是,可以通过矩阵变换来达到视觉上的...ScaffoldState 中,通过 Scaffold.of() 可以获取腹肌最近的 Scaffold 组件的 State 对象 ToolBar 下面,在 AppBar 中通过 Bottom 属性创建一个...TabBar 和 TabBarView 的 controller 都是同一个,正是如此, TabBar 和 TabBarView 正是通过一个 controller 来实现菜单切换和滑动状态同步的,效果如下

    5.6K10

    【Flutter 专题】126 图解自定义两侧对齐 ACETabBar 标签导航栏

    _TabBarState 中 TabBar 绘制过程中,多个子 Tab 通过 SingleChildScrollView 存放,最简单的方式,在 SingleChildScrollView 外添加可以设置对齐方式的...Container() ]); return tabBar; 案例尝试 和尚尝试在 isScrollable 是否可滑动两种状态下,在导航栏中添加左右两个固定位图标; _tabBar05(type...Text('true & LeftIcon & RightIcon'), bottom: _tabBar05(1, true, true)), body: _tabBarView...LeftIcon & RightIcon'), bottom: _tabBar05(1, true, true, isScrollable: false)), body: _tabBarView...小扩展 和尚在了解 TabBar 源码过程中,简单学习了 Tab Item 以及对应 indicator 标签指标的绘制及对应的滑动过程;其中在 TabBar 绘制过程中会用到 PreferredSizeWidget

    2.1K90
    领券