首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏flutter开发者

    SliverAppBar

    接下来我们来介绍下SliverAppBar SliverAppBar ---- 我看还是先来看下SliverAppBar的构造方法 构造方法也是非常的简单,但是我们却不能直接使用它,由官方文档可以看到我们通常结合 当然我们是希望这个TabBar在SliverAppBar下方,并且随着SliverAppBar滚动的,但是我们还是来看下效果吧 ? 很丑有没有,由于TabBar的高度所以我们并不能让SliverAppBar滑动到顶部,所以要想实现随着SliverAppBar的移动,把TabBar放在bottom也不是很合适的。 其实很简单,因为SliverPersistentHeader跟SliverAppBar一样都有一个 pinned属性,将它设置为true这里面的内容就会在到达顶部后停止跟随ListView移动了。 本期小结 ---- 熟悉SliverAppBar的用法 了解CustomScrollView的用法 了解SliverPersistentHeader的用法

    2K30发布于 2018-10-16
  • 来自专栏Flutter

    Flutter之SliverAppBar

    SliverAppBar控件可以实现页面头部区域展开、折叠的效果,类似于Android中的CollapsingToolbarLayout。 先看下SliverAppBar实现的效果,效果图如下: ? SliverAppBar控件需要和CustomScrollView搭配使用,SliverAppBar要通常放在slivers的第一位,后面接其他sliver控件。 控件 ], ) SliverAppBar和其他slivers控件的结构如下: ? SliverAppBar中有一个非常重要的参数flexibleSpace,flexibleSpace是SliverAppBar中展开和折叠区域,flexibleSpace与expandedHeight一起使用 也会跟着一起向下出现 pinned 设置为true时,当SliverAppBar内容滑出屏幕时,将始终渲染一个固定在顶部的收起状态 snap 设置为true时,当手指放开时,SliverAppBar会根据当前的位置进行调整

    1.6K30发布于 2020-09-11
  • 来自专栏程序那些事

    flutter系列之:如丝般顺滑的SliverAppBar

    SliverAppBar详解 我们先来看下SliverAppBar的定义: class SliverAppBar extends StatefulWidget 可以看到SliverAppBar是一个StatefulWidget floating floating是一个非常重要的属性,因为对于SliverAppBar来说,当界面向远离SliverAppBar的方向滚动的时候,SliverAppBar会隐藏或者缩写为status bar的高度,floating的意思就是当我们向SliverAppBar滑动的时候,SliverAppBar是否浮动展示。 snap snap是和floating一起使用的属性,snap表示当向SliverAppBar滚动的时候,SliverAppBar是否立即展示完全。 SliverAppBar的使用 上面讲解了SliverAppBar的构造函数和基础属性,接下来我们通过具体的例子来讲解SliverAppBar如何使用。

    2.4K30编辑于 2023-02-24
  • 来自专栏程序那些事

    flutter系列之:如丝般顺滑的SliverAppBar

    SliverAppBar详解我们先来看下SliverAppBar的定义:class SliverAppBar extends StatefulWidget可以看到SliverAppBar是一个StatefulWidget floatingfloating是一个非常重要的属性,因为对于SliverAppBar来说,当界面向远离SliverAppBar的方向滚动的时候,SliverAppBar会隐藏或者缩写为status bar 的高度,floating的意思就是当我们向SliverAppBar滑动的时候,SliverAppBar是否浮动展示。 snapsnap是和floating一起使用的属性,snap表示当向SliverAppBar滚动的时候,SliverAppBar是否立即展示完全。 SliverAppBar的使用上面讲解了SliverAppBar的构造函数和基础属性,接下来我们通过具体的例子来讲解SliverAppBar如何使用。

    2.1K20编辑于 2022-12-12
  • 来自专栏移动开发专栏

    Flutter SliverAppBar全解析,你要的效果都在这了!

    先来简单看下部分效果图: 本文内容可能有点多,但是都很简单,配上效果图味道更佳~ 什么是SliverAppBar SliverAppBar 类似于Android中的CollapsingToolbarLayout 常用属性 const SliverAppBar({ Key key, this.leading,//左侧的图标或文字,多为返回箭头 this.automaticallyImplyLeading 的背景内容区 this.bottom,//SliverAppBar的底部区 this.elevation,//阴影 this.forceElevated = false,//是否显示阴影 下拉的时候,SliverAppBar是直接拉下来还是先拉下来再展开。 demo github : https://github.com/yechaoa/flutter_sliverappbar

    3.9K30编辑于 2022-06-10
  • Flutter之ListView使用【二】

    SliverList 替代 ListView,SliverAppBar 替代 AppBar,所有 Sliver 的滚动状态由 CustomScrollView 统一协调。 实现视差滚动效果 视差滚动通过 SliverAppBar 和 SliverList 联动实现,背景和列表以不同速度滚动。 CustomScrollView( slivers: <Widget>[ SliverAppBar( title: Text('视差滚动示例'), floating: 视差滚动实现:SliverAppBar 与 SliverList 联动,通过 flexibleSpace 设置背景图。 精确滚动控制:ScrollController 用于监听位置和触发滚动动画。

    22510编辑于 2025-12-17
  • 来自专栏flutter开发中的点滴积累

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

    Flutter NestedScrollView 滑动组件是用来处理复杂情况下的滑动应用场景,如向上滑动视图时,要折叠隐藏一部分内容,这时候就需要使用到 NestedScrollView 与 SliverAppBar 在本节中是使用 NestedScrollView 结合 SliverAppBar 与 TabBar 、TabBarView 实现的折叠头部效果undefined 【x1】微信公众号的每日提醒 随时随记 buildNestedScrollView(), ); } buildNestedScrollView 方法就是构建了一个滑动布局 NestedScrollView ,其中两部分,头部使用的是 SliverAppBar NestedScrollView( headerSliverBuilder: (BuildContext context, bool b) { return [ SliverAppBar ( ///true SliverAppBar 不会滑动 pinned: true, ///是否随着滑动隐藏标题 floating

    3.2K11发布于 2020-10-08
  • 来自专栏Flutter笔记

    Flutter实战 | 从 0 搭建「网易云音乐」APP(三、每日推荐、推荐歌单)

    1.SliverAppBar2.SliverAppBar 的 bottom3.SliverList 整个页面就是用 CustomScrollView 来做的,但是有一点不同: 平时我们在使用 SliverAppBar 滑上去的时候「播放全部」那一行还停留在上方,是使用了 SliverAppBar 的 bottom参数。 这样一个页面的UI其实就分析完了。 然而!我们回过头看一下两个页面的UI,是不是感觉非常相似! 1.标题,不用多说,是一样的2.SliverAppBar 展开状态时的内容,是不是可以由外部传入3.播放全部,也是一样的,后面有个「共多少首」,也可以由调用者传入4.最下面的歌单,是不是也可以封装出一个组件来 5.忘记标了,还有一个是SliverAppBar展开时的模糊背景,也可以由调用者传入 so,我们从上往下来封装。 先封装SliverAppBar 的 bottom 确定一下需求,看看需要传入哪些参数: 1. count:共多少首歌 2. tail:尾部控件 3. onTap:点击播放全部时的回调 bottom 需要的是一个

    1.9K20发布于 2019-10-22
  • 来自专栏技术人生

    flutter组件6【AppBar的使用】

    elevation → double - 控件的 z 坐标顺序,默认值为 4,对于可滚动的 SliverAppBar,当 SliverAppBar 和内容同级的时候,该值为 0, 当内容滚动 SliverAppBar flexibleSpace → Widget - 一个显示在 AppBar 下方的控件,高度和 AppBar 高度一样,可以实现一些特殊的效果,该属性通常在 SliverAppBar 中使用。

    1.5K20发布于 2020-11-13
  • 来自专栏设计模式

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

    SliverAppBar 相信很多 Android 开发的小伙伴会用到 MaterialDesign 的 CollapsingToolbarLayout 来实现折叠头部,既然 Android 有的,那么 首先看下 SliverAppBar 的源码吧,其实和 AppBar 的参数差不多,只是多了一些比较特殊的属性 const SliverAppBar({ Key key, this.leading 糟透了的翻译 X 2:最常用的情况,就是在其 headerSliverBuilder 中使用携带 TabBar 的 SliverAppBar(就是使用 SliverAppBar 的 bottom 属性添加 的 forceElevated 属性,当内部内容滚动时,显示 SliverAppbar 的阴影,主要用来提醒内部的内容低于 SliverAppBar (相当于给人一种物理层次感,否则很容易被认为,头部和内容是连接在一起的 分析完源码后,例子的目标很明确,使用 SliverAppBar + TabBar + TabBarView,先看下最后的效果图吧 ?

    2.8K30发布于 2020-12-16
  • 来自专栏用户4077185的专栏

    Flutter | Slivers 系列

    CustomScrollView:一个滚动的容器,改组件不接受任何 child,但是你可以直接提供 Slivers 已创建各种滚动效果,例如页面中有多个可滑动的列表,如 Appbar, 列表,网格,等这种就可以直接使用 SliverAppBar 常用到的 Sliver 有,SliverAppbar,SliverList,SliverGrid,SliverToBoxAdapter 等 由于 CustomScrollView 的子组件只能是 Sliver ( title: Text("SliverAppbar"), ), SliverGrid( gridDelegate 在 slivers 系列中,SliverAppbar 可以说是使用频率比较高的组件了,SliverAppbar 为应用栏提供了自定义滚动行为,下面我们来看一下 class _MyHomePageState ,并没有实现任何特殊效果,默认的效果如下: 可以看到在滑动的过程中,SliverAppbar 被顶上去了,这也是非常正常的。

    1.9K11编辑于 2022-02-11
  • 来自专栏Flutter

    Flutter 首页必用组件NestedScrollView

    例如,浏览内部列表以滚动到顶部不会导致外部ScrollView中的SliverAppBar折叠以展开。 NestedScrollView( headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) { return <Widget>[SliverAppBar style: TextStyle(color: Colors.white, fontSize: 20), ), ); },itemCount: 20,), ) 效果如下: SliverAppBar NestedScrollView( headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) { return <Widget>[SliverAppBar headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) { return <Widget>[ SliverAppBar

    5.1K10发布于 2020-09-11
  • 来自专栏技术人生

    初识顶部导航栏【flutter20个实例之一】

    PopupMenuButton 来显示为三个点,点击后弹出二级菜单 this.flexibleSpace,//一个显示在 AppBar 下方的控件,高度和 AppBar 高度一样,可以实现一些特殊的效果,该属性通常在 SliverAppBar 用来在 Toolbar 标题下面显示一个 Tab 导航栏 this.elevation = 4.0,//纸墨设计中控件的 z 坐标顺序,默认值为 4,对于可滚动的 SliverAppBar,当 SliverAppBar 和内容同级的时候,该值为 0, 当内容滚动 SliverAppBar 变为 Toolbar 的时候,修改 elevation 的值 this.backgroundColor

    1.7K20发布于 2020-11-12
  • Flutter 零基础入门(四十六):高级列表与滚动优化 —— Sliver 与长列表性能实战

    1️⃣ CustomScrollView + SliverList CustomScrollView( slivers: [ SliverAppBar( pinned: true index) => ListTile(title: Text('条目 $index')), childCount: 50, ), ), ], ) 功能解析: SliverAppBar Scaffold( body: CustomScrollView( controller: _controller, slivers: [ SliverAppBar childCount: _items.length, ), ), ], ), ); } } 功能总结: SliverAppBar 你已经学会: ListView.builder 与长列表性能优化 分页加载与 ScrollController 使用 Sliver 基础组件(SliverList / SliverGrid / SliverAppBar

    12910编辑于 2026-03-30
  • 来自专栏程序那些事

    flutter系列之:使用SliverList和SliverGird

    简介 在上一篇文章我们讲解SliverAppBar的时候有提到过,Sliver的组件一般都用在CustomScrollView中。 除了SliverAppBar之外,我们还可以为CustomScrollView添加List或者Grid来实现更加复杂的组合效果。 今天要向大家介绍的就是SliverList和SliverGird。 默认情况下SliverList和SliverGird是需要和CustomScrollView一起使用的,所以我们先创建一个CustomScrollView,在它的slivers属性中,放入一个SliverAppBar 组件: CustomScrollView( slivers: <Widget>[ const SliverAppBar( pinned: true, FlexibleSpaceBar( title: Text('SliverList and SliverGrid'), ), ), ], ); SliverAppBar

    1.3K30编辑于 2023-02-13
  • 来自专栏程序那些事

    flutter系列之:使用SliverList和SliverGird

    简介 在上一篇文章我们讲解SliverAppBar的时候有提到过,Sliver的组件一般都用在CustomScrollView中。 除了SliverAppBar之外,我们还可以为CustomScrollView添加List或者Grid来实现更加复杂的组合效果。 今天要向大家介绍的就是SliverList和SliverGird。 默认情况下SliverList和SliverGird是需要和CustomScrollView一起使用的,所以我们先创建一个CustomScrollView,在它的slivers属性中,放入一个SliverAppBar 组件: CustomScrollView( slivers: <Widget>[ const SliverAppBar( pinned: true, FlexibleSpaceBar( title: Text('SliverList and SliverGrid'), ), ), ], ); SliverAppBar

    78310编辑于 2023-02-24
  • 来自专栏技术人生

    初识顶部导航栏【flutter20个实例之一】

    PopupMenuButton 来显示为三个点,点击后弹出二级菜单 this.flexibleSpace,//一个显示在 AppBar 下方的控件,高度和 AppBar 高度一样,可以实现一些特殊的效果,该属性通常在 SliverAppBar 用来在 Toolbar 标题下面显示一个 Tab 导航栏 this.elevation = 4.0,//纸墨设计中控件的 z 坐标顺序,默认值为 4,对于可滚动的 SliverAppBar,当 SliverAppBar 和内容同级的时候,该值为 0, 当内容滚动 SliverAppBar 变为 Toolbar 的时候,修改 elevation 的值 this.backgroundColor

    1.3K10发布于 2020-11-13
  • 来自专栏iOS小生活

    UITableView在Flutter中是什么?

    比如,ListView的Sliver实现为SliverList,AppBar的Sliver实现为SliverAppBar。 经分析得出,要实现这样的需求,我们需要两个Sliver:作为头图的SliverAppBar,与作为列表的SliverList。 具体的实现思路是: 在创建SliverAppBar时,把 flexibleSpace 参数设置为悬浮头图背景。 flexibleSpace 可以让背景图显示在SliverAppBar下方,高度和SliverAppBar一样; 而在创建SliverList时,通过 SliverChildBuilderDelegate 具体的示例代码如下所示: CustomScrollView( slivers: <Widget>[ SliverAppBar(//SliverAppBar 作为头图控件

    7.9K10发布于 2019-08-12
  • 来自专栏个人路线

    [flutter专题]6详解AppBar小部件

    this.actions,//右侧item this.flexibleSpace,//显示在 AppBar 下方的控件,高度和 AppBar 高度一样, // 可以实现一些特殊的效果,该属性通常在 SliverAppBar 用来在 Toolbar 标题下面显示一个 Tab 导航栏 this.elevation,//控件的 z 坐标顺序,默认值 4,对于可滚动的 SliverAppBar,当 SliverAppBar 和内容同级的时候,该值为 0, // 当内容滚动 SliverAppBar 变为 Toolbar 的时候,修改 elevation 的值。

    21.3K10发布于 2021-11-30
  • 来自专栏阿策小和尚

    【Flutter 专题】52 图解可折叠状态栏

    顶部状态栏在日常中是必不可少的,今天和尚尝试一下可折叠状态栏的使用; 和尚以前在学习滑动冲突时曾用过 Sliver 系列的 Widget,和尚这次尝试用 SliverAppBar 来处理; SliverAppBar 源码分析 const SliverAppBar({ Key key, this.leading, this.automaticallyImplyLeading BuildContext context) { return Scaffold( body: CustomScrollView(slivers: <Widget>[ SliverAppBar

    1.7K51发布于 2019-08-12
领券