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

Flutter跨平台移动端开发丨SingleChildScrollView、ListView......

如果你想在所有平台下使用同一种效果,可以显式指定,Flutter SDK中包含了两个ScrollPhysics的子类可以直接使用: ClampingScrollPhysics→Android下微光效果...controller:控制器对象,主要作用是控制滚动位置和监听滚动事件 primary:是否使用 widget 树中默认的 PrimaryScrollController 。...如果你想在所有平台下使用同一种效果,可以显式指定,Flutter SDK中包含了两个ScrollPhysics的子类可以直接使用: ClampingScrollPhysics→Android下微光效果...controller:控制器对象,主要作用是控制滚动位置和监听滚动事件 primary:是否使用 widget 树中默认的 PrimaryScrollController 。...如果你想在所有平台下使用同一种效果,可以显式指定,Flutter SDK中包含了两个ScrollPhysics的子类可以直接使用: ClampingScrollPhysics→Android下微光效果

8.6K51

Flutter | 滚动组件,ListView,GridVIew等

默认情况下,Flutter 会根据具体的平台分别使用不同的 ScrollPhysics 对象,应用不同的显示效果,在 IOS 上会出现弹性效果,而在 android 上则会出现微光效果,如果你想在所有的平台下使用同一个效果...,所以如果预计视口可能包含超出屏幕尺寸太多内容时,那么使用 SingleChildScrollView 将会非常昂贵(性能差),此时应该使用一些支持 Sliver 延时加载的可滚动组件,如 ListView...ListView 是最常用的可滚动组件之一,他可以沿一个方向线性排列所有子组件,并且他支持基于 Sliver 的延时构建模型,ListView 的定义如下: ListView({ ......和 addAutomaticKeepAlive 一样,如果列表项资金维护其状态,此参数必须置为 false 注意:上面这些参数并非 ListView 特有,在有些滚动组件中可能会拥有这些参数,他们的含义是相同的...复制代码 意思是 ListView 的高度无法确定,所以解决的办法就是给 ListView 设置边界,我们可以使用 SizedBox 指定具体的高度: children: [ Text("商品列表"

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

《Flutter》-- 6.高级组件

高级组件 6.1 可滚动组件 对于列表和长布局的显示溢出问题,可以使用Flutter提供的可滚动组件来处理。...对象,控制滚动位置和监听滚动事件 this.physics,//用于接收一个ScrollPhysics对象,可以决定滚动组件响应用户操作的方式 @required this.viewportBuilder...控制滚动位置,当primary为true时,controller必须为null bool primary,//是否是与父级关联的主滚动视图 ScrollPhysics physics,/...//开始滚动的偏移量,默认从坐标原点开始排列 double cacheExtent,//缓存不可见的列表项,即使这部分区域不可见,会被加载处理 this.slivers = const...6.2.2 ListView.builder 使用ListView.builder创建的列表是基于Sliver的延迟加载创建的,渲染性能比较高,适合用于列表元素比较多的情况。

10.5K20

Flutter 粘合剂CustomScrollView控件

CustomScrollView CustomScrollView是使用Sliver组件创建自定义滚动效果的滚动组件,使用场景: ListView和GridView相互嵌套场景,ListView嵌套GridView...时,需要给GridView指定高度,但我们希望高度随内容而变化(不指定),ListView和GridView作为整体滚动效果。...一个页面顶部是AppBar,然后是GridView,最后是ListView,这3个区域以整体来滚动,AppBar具有吸顶效果。...相互嵌套场景 在实际业务场景中经常见到这样的布局,顶部是网格布局(GridView),然后是列表布局(ListView),滚动的时候做为一个整体,此场景是无法使用GridView+ListView来实现的...(20.0); CustomScrollView( controller: _scrollController, ... ) physics表示可滚动组件的物理滚动特性,系统提供的ScrollPhysics

1.9K20

android使用flutter的ListView实现滚动列表的示例代码

现如今打开一个 App,比如头条、微博,都会有长列表,随着我们不断地滑动,视窗内的内容会不断地更新。今天就用 Flutter 实现一下这种效果。 ?...ListView 主要有以下几种使用方式 ListView ListView.builder ListView.separated ListView.custom ListView ListView 是最简单直接的方式...你可以对比用 ListView 和用 ListView.builder 渲染 1000 个列表时,体验是否有差别。...SliverChildListDelegate 接收跟 ListView 一样的 children ,而 SliverChildBuilderDelegate 接收跟 ListView.builder...正常来说,前面三个已经可以满足我们的日常使用需求了,无需自定义。 总结,上面主要讨论了 ListView 的几个构造函数及用法,讨论如何实现常见的滚动列表。

1.7K40

ListView&GirdView

在本篇文章中,我们会进一步对Flutter中常用的Widget进行介绍,有印象的童鞋可能还记得,在前面的文章中我们分享了Row和Colunm的用法,我们使用这两个Widget完成了一些类似列表的操作,...但是大家肯定知道,如果在数据量还小的页面还好,如果数据量过多,再使用这两个控件来布局就会显得十分的麻烦。...,所以要好好看下这篇文章哦 还是先来看下listView的构造方法: ListView({ Key key, Axis scrollDirection: Axis.vertical,//滚动方向 bool...reverse: false,//十分反向显示数据 ScrollController controller, bool primary, ScrollPhysics physics,//物理滚动 bool...当然,GridView你可以使用builder()和custom()的方式实现 import 'package:flutter/material.dart'; void main() { runApp

1.6K20

Flutter 首页必用组件NestedScrollView

新的版本主要是优化性能、修复bug,有人觉得此版本毫无亮点,但也从另一方面体现了Flutter目前针对移动端已经较为完善,想了解具体内容,文末有链接,如果你想升级到最新版本,建议慎重,有些人升级后项目无法运行...bool innerBoxIsScrolled) { return [SliverAppBar( title: Text('老孟'), )]; }, body: ListView.builder.../20180918/2018091815372344164.jpg', fit: BoxFit.fitHeight, ), ), )]; }, body: ListView.builder...style: TextStyle(color: Colors.white, fontSize: 20), ), ); },itemCount: 20,), ) 效果如下: 与TabBar配合使用...(20.0); CustomScrollView( controller: _scrollController, ... ) physics表示可滚动组件的物理滚动特性,系统提供的ScrollPhysics

4K10

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

新的版本主要是优化性能、修复bug,有人觉得此版本毫无亮点,但也从另一方面体现了Flutter目前针对移动端已经较为完善,想了解具体内容,文末有链接,如果你想升级到最新版本,建议慎重,有些人升级后项目无法运行...innerBoxIsScrolled) { return <Widget [SliverAppBar( title: Text('ZaLou.Cn'), )]; }, body: ListView.builder...upload/20180918/2018091815372344164.jpg', fit: BoxFit.fitHeight, ), ), )]; }, body: ListView.builder...与TabBar配合使用 用法如下: NestedScrollView( headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled...; CustomScrollView( controller: _scrollController, ... ) physics表示可滚动组件的物理滚动特性,具体查看ScrollPhysics

3.5K40

Flutter开发-可滚动组件

,那么使用SingleChildScrollView将会非常昂贵(性能差),此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView。...注意:上面这些参数并非ListView特有,在本章后面介绍的其它可滚动组件可能会拥有这些参数,它们的含义是相同的。...的大多数参数都是相同的,它们的含义都相同的,如有疑惑读者可以翻阅ListView一节,在此不再赘述。...如果使用GridView+ListView来实现的话,就不能保证一致的滑动效果,因为它们的滚动效果是分离的,所以这时就需要一个”胶水”,把这些彼此独立的可滚动组件”粘”起来,而CustomScrollView...实际上Sliver版的可滚动组件和非Sliver版的可滚动组件最大的区别就是前者不包含滚动模型(自身不能再滚动),而后者包含滚动模型 ,正因如此,CustomScrollView才可以将多个Sliver

4.4K20

Flutter 视图布局(二)

当然如果有配合 github 项目的代码来看的话,一定会发现我已经将实现好的代码更新上去了,可以作为实现参考。...而且这是一个很少能够直接使用的 Widget,如果需要的话应该优先选择 ListView,因为它有相同的布局方式以及提供了滚动行为。...滚动事件,与 primary 互斥 ScrollPhysics physics 滚动的行为方式 bool addAutomaticKeepAlives bool addRepaintBoundaries...ClampingScrollPhysics 我不知道为什么要用 Clamping,可能是像钳子一样拥有最大张合度吧。在默认情况下,如果列表子元素不足以超出可视范围则不会产生可滚动行为。...03 - 无线滚动例子 很好,我很佩服你提问的勇气!不过没关系,Flutter 让然知道这个问题,那么我们就来看看它有哪些相关的方法可以使用。 不用多说,我们还是来先看源码。

2.9K10

Flutter 实现简单聊天界面 下拉滑动加载更多

刷新功能实现 将刷新组件嵌入滑动组件中,因为聊天界面都是由下往上滑,所以ListView设置了reverse: true实现反转列表组件。...LoadIndicator() : chatItemWidget(index); 判断是否出发刷新的逻辑很简单,当_scrollController.position.pixels大于等于_scrollController.position.maxScrollExtent...是上下都有弹性效果) 重写applyBoundaryConditions方法 ///base on BouncingScrollPhysics /// class ChatScrollPhysics extends ScrollPhysics...value - position.minScrollExtent; return 0.0; } ... } 同时修改 0.52的值可以实现这个系数从某个值开始,逐渐变得难以过度滚动...使用ScrollConfiguration包裹滑动组件behavior设置成自己实现的behavior。

1.2K10
领券