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

Flutter 首页必用组件NestedScrollView的示例详解

昨天Flutter 1.17版本重磅发布,新的版本主要是优化性能、修复bug,有人觉得此版本毫无亮点,但也从另一方面体现了Flutter目前针对移动端已经较为完善,想了解具体内容,文末有链接,如果你想升级到最新版本...可以在其内部嵌套其他滚动视图的滚动视图,其滚动位置是固有链接的。...在普通的ScrollView中, 如果有一个Sliver组件容纳了一个TabBarView,它沿相反的方向滚动(例如,允许用户在标签所代表的页面之间水平滑动,而列表则垂直滚动),则该TabBarView...例如,浏览内部列表以滚动到顶部不会导致外部ScrollView中的SliverAppBar折叠以展开。...交流 Flutter博客地址(近200个控件用法):http://laomengit.com 总结 到此这篇关于Flutter 首页必用组件NestedScrollView的文章就介绍到这了,更多相关Flutter

3.6K40
您找到你想要的搜索结果了吗?
是的
没有找到

Flutter 首页必用组件NestedScrollView

老孟导读:昨天Flutter 1.17版本重磅发布,新的版本主要是优化性能、修复bug,有人觉得此版本毫无亮点,但也从另一方面体现了Flutter目前针对移动端已经较为完善,想了解具体内容,文末有链接,...在普通的ScrollView中, 如果有一个Sliver组件容纳了一个TabBarView,它沿相反的方向滚动(例如,允许用户在标签所代表的页面之间水平滑动,而列表则垂直滚动),则该TabBarView...例如,浏览内部列表以滚动到顶部不会导致外部ScrollView中的SliverAppBar折叠以展开。..., bool innerBoxIsScrolled) { return [SliverAppBar( title: Text('老孟'), )]; }, body:...reverse参数表示反转滚动方向,并不是由垂直转为水平,而是垂直方向滚动时,默认向下滚动,reverse设置false,滚动方向改为向上,同理水平滚动改为水平向左。

4K10

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

Flutter 也不会少,毕竟 Flutter 主打的也是 MaterialDesign 啊。...因为在 CustomScrollView 中只允许传入 Sliver 部件,那么类似 Container 等普通部件就不可以使用了,那么这样就需要更多的 Sliver 组件才能完成视图,所以为了方便,直接通过...SliverPersistentHeader Flutter 中,为我们提供了这么一个作为头部的部件 SliverPersistentHeader,这个部件可以根据滚动的距离缩小高度,有点类似 SliverAppBar...糟透了的翻译 X 1:一个内部能够嵌套其他滚动部件,并使其滚动位置联结到一起的滚动部件 /// The most common use case for this widget is a scrollable...的 forceElevated 属性,当内部内容滚动时,显示 SliverAppbar 的阴影,主要用来提醒内部的内容低于 SliverAppBar (相当于给人一种物理层次感,否则很容易被认为,头部和内容是连接在一起的

2K30

UITableView在Flutter中是什么?

这时,各自视图的滚动和布局模型就是相互独立、分离的,就很难保证整个页面统一一致的滑动效果。 那么,Flutter是如何解决多ListView嵌套时,页面滑动效果不一致的问题的呢?...在Flutter中,有一个专门的控件CustomScrollView,用来处理多个需要自定义滚动效果的Widget。...这些Sliver不再维护各自的滚动状态,而是交由CustomScrollView统一管理,最终实现滑动效果的一致性。...flexibleSpace 可以让背景图显示在SliverAppBar下方,高度和SliverAppBar一样; 而在创建SliverList时,通过 SliverChildBuilderDelegate...总结 在处理展示一组连续、可滚动的视图元素的场景中,Flutter提供了比原生Android、iOS系统更为强大的列表组件ListView与CustomScrollView。

5.5K10

SliverAppBar

首先我们使用了NestedScrollView中的headerSliverBuilder属性添加了SliverAppBar 然后我们设置展开的高度为200,不让标题栏随着滑动滚动出可视区域 我们使用flexibleSpace...来构建了一个可以滚动的区域 最后我们给NestedScrollView的body加了一个ListView 然后我们来看下效果: ?...接下来我们来看下bottom属性,允许我们在在下面放置你想放置其他Widget,好吧我们来放个TabBar看下 其实代码很简单,只不过我们需要让MyApp继承于 StatefulWidget,让后让State...当然我们是希望这个TabBar在SliverAppBar下方,并且随着SliverAppBar滚动的,但是我们还是来看下效果吧 ?...在这里,我们可以借助于SliverPersistentHeader中的SliverPersistentHeader属性来解决 SliverPersistentHeader的构造很简单,只有简单的几个属性,不再具体讲了

1.8K30

6详解AppBar小部件

由于它是一个如此常用的组件,因此 Flutter 为该功能提供了一个名为AppBar的专用小部件。 在本教程中,我们将通过一些实际示例向您展示如何在 Flutter 应用程序中自定义 AppBar。...以下是我们将介绍的内容: Flutter 中的 AppBar 是什么? 应用栏布局 自定义 AppBar Flutter 中的 AppBar 是什么?...this.actions,//右侧item this.flexibleSpace,//显示在 AppBar 下方的控件,高度和 AppBar 高度一样, // 可以实现一些特殊的效果,该属性通常在 SliverAppBar...用来在 Toolbar 标题下面显示一个 Tab 导航栏 this.elevation,//控件的 z 坐标顺序,默认值 4,对于可滚动SliverAppBar,当 SliverAppBar...和内容同级的时候,该值为 0, // 当内容滚动 SliverAppBar 变为 Toolbar 的时候,修改 elevation 的值。

16.2K10

Flutter

接下来比较Widget树中第二个Widget和之前Widget,以此类推,直到Widget树比较完成。...用这种方式构建出的 Widget,在创建时,除了这些配置参数之外不依赖于任何其他信息,换句话说,它们一旦创建成功就不再关心、也不响应任何数据变化进行重绘。...当组件的可见状态发生变化时,deactivate 函数会被调用,这时 State 会被暂时从视图树中移除。...resumed:可见的,并能响应用户的输入。 inactive:处在不活动状态,无法处理用户响应。 paused:不可见并不能响应用户的输入,但是在后台继续活动中。...以一个有着封面头图的列表为例,我们希望封面头图和列表这两层视图的滚动联动起来,当用户滚动列表时,头图会根据用户的滚动手势,进行缩小和展开。

1.8K40

Flutter | Slivers 系列

概述 CustomScrollView:一个滚动的容器,改组件不接受任何 child,但是你可以直接提供 Slivers 已创建各种滚动效果,例如页面中有多个可滑动的列表,如 Appbar, 列表,网格...在 SliverPrototypeExtentList 中,可以通过 prototypeItem 来传入一个原型,这个原型并不会渲染到屏幕上,在运行的过程中,Flutter 会将原型的尺寸计算出来,之后就会把所有的元素尺寸设置成这个原型的尺寸...在 slivers 系列中,SliverAppbar 可以说是使用频率比较高的组件了,SliverAppbar 为应用栏提供了自定义滚动行为,下面我们来看一下 class _MyHomePageState...,并没有实现任何特殊效果,默认的效果如下: 可以看到在滑动的过程中,SliverAppbar 被顶上去了,这也是非常正常的。...false, child: Center( child: CircularProgressIndicator(), ), ) 复制代码 hasScrollBody :当前组件中是否有可滚动的组件

1.4K11

Flutter开发实战分析-animation_demo解析导读

窗口内有许多的sliver.他们可以滚动滚动时,随着他们距离窗口顶部位置(前沿的变化),所以他们的在窗口内的可见部分可能是变化的。...最终的可见区域就是 在viewport中范围和主轴绘制范围的交集。...target-20180816144928.gif 可以看到这里的头部滚动是使用SliverPersistentHeader来实现的。而我们之前的头部滚动都是用SliverAppBar来做的。...同时,整体的形状变化,我们不需要其他的效果,只要保持和外部滚动的大小一致就可以了。 我们不使用SliverAppBar。...---- 滚动时的物理效果 ScrollPhysics 这些滚动组件的物理滚动效果都是通过ScrollPhysics来进行配置的。 Flutter自带的 自动的ScrollPhysics就有4个。

2.4K30

flutter 起步

基本上都是原生+Flutter的混合开发模式,不是使用纯Flutter开发的起步基于dartdart 不用单独安装,flutter 会自带环境,且dart 语言较简单,可以在flutter的使用中学习安装环境...window 安装教程flutter中文官网mac 安装教程flutter中文官网安装完成后解压到非高权限路径,在讲环境变量配置到path中图片Flutter安装目录的flutter文件下找到flutter_console.bat...图片注意点:官网下载flutter包完成将安装包zip解压到你想安装Flutter SDK的路径(如:C:\src\flutter;注意,不要将flutter安装到需要一些高权限的路径如C:\Program...elevation → double - 控件的 z 坐标顺序,默认值为 4,对于可滚动SliverAppBar,当 SliverAppBar 和内容同级的时候,该值为 0, 当内容滚动 SliverAppBar...flexibleSpace → Widget - 一个显示在 AppBar 下方的控件,高度和 AppBar 高度一样,可以实现一些特殊的效果,该属性通常在 SliverAppBar 中使用。

4.4K20

Flutter | 滚动组件,ListView,GridVIew等

滚动组件 当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter 就会提示 Overflow 错误,为此,Flutter 提供了多种可滚动组件,用于显示列表和长布局; 可滚动组件都直接或间接的包含一个...为此,Flutter 中提出了一个 Sliver(薄片) 概念,只有当 Sliver 出现在视口时才会去构建他,这种模型也被称为 基于 Sliver 的延时构建模型 。...因此,为了能让可滚动组件能和 CustomScrollView 配合使用,Flutter 提供了一下可滚动组件的 Sliver 版,如 SliverList,SliverGrid 等,实际上 Sliver...,是由于还有一些如 SliverPadding,SliverAppBar 等是和可滚动组件无关的,他们主要是为了配合 CustomScrollView 一起使用,这是因为 CustomScrollView...:SliverAppBar 对应 AppBar,两者不同之处在于 SliverAppBar 可以集成到 CustomScrollView 中,SliverAppBar 可以结合 FlexibleSpaceBar

8.4K20

不一样角度带你了解 Flutter 中的滑动列表实现

本篇主要帮助剖析理解 Flutter 里的列表和滑动的组成,用比较通俗易懂的方式,从常见的 ListView到 NestedScrollView 的内部实现,帮助你更好理解和运用 Flutter 里的滑动列表...Flutter 滑动列表 在 Flutter 里我们常见的滑动列表场景,简单地说其实是由三部分组成: Viewport :它是一个 MultiChildRenderObjectWidget 的控件 ,「...RenderSliver 我们都知道 Flutter 中的整体渲染流程是 Widget -> Element -> RenderObejct -> Layer 这样的过程,而 「Flutter 里的布局和绘制逻辑都在...最后在 _NestedScrollCoordinator 的 drag 和 applyUserOffset 等方法里进行内外滚动的分配; image.png SliverPersistentHeader...,本质上 「SliverAppBar 的实现靠的就是 SliverPersistentHeader」。

1K30

flutter实现仿boss直聘功能

Flutter是Google使用Dart语言开发的移动应用开发框架,使用一套Dart代码就能构建高性能、高保真的iOS和Android应用程序,并且在排版、图标、滚动、点击等方面实现零差异。...这次flutter来了,想感受一下,索性用目前flutter的版本写的一个仿boss直聘应用。 时间有限,没完全仿照,去掉了一些功能,但是界面风格一致,有参考价值。...部署到手机 确保flutter正确安装之后,进入目录运行flutter run –release 环境问题 如果flutter环境有问题,在.bash_profile里加上如下内容 export...PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn...(bottom: _kMarginBottom), ), _buildLabelText() ] ); } 3.MD风格及一些组件应用 new SliverAppBar

51720
领券