百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

Flutter 组件库 NestedScrollView 滚动神器

xsobi 2024-11-26 10:13 15 浏览

本头条核心宗旨

欢迎来到「技术刚刚好」作者,「技术刚刚好」是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。

技术刚刚好经历

近几年,移动端跨平台开发技术层出不穷,从Facebook家的ReactNative,到阿里家WEEX,前端技术在移动端跨平台开发中大展身手,技术刚刚好作为一名Android开发,经历了从Reactjs到Vuejs的不断学习。而在2018年,我们的主角变成了Flutter,这是Goolge开源的一个移动端跨平台解决方案,可以快速开发精美的移动App。希望跟大家一起学习,一起进步!

本文核心要点

最近Flutter版本已经更新了,很积极的参加了一下新版本体验,虽然大家对Flutter这门技术有点排斥,并不是看好它的未来,但是我相信只要你参与评论,就说明你已经在开始关注它了,只有你关注了才能来评论,不管看好它还是不看好它,至少你还在观望。

今天我这边给大家分享一个组件:NestedScrollView,滚动页面都会用到的组件,一般会运用到一个页面有多种样式的滚动,就会使用这个组件,可以在其内部嵌套其他滚动视图的组件,其滚动位置是固有链接的。

在普通的ScrollView中, 如果有一个Sliver组件容纳了一个TabBarView,它沿相反的方向滚动(例如,允许用户在标签所代表的页面之间水平滑动,而列表则垂直滚动),则该TabBarView内部的任何列表都不会相互作用 与外部ScrollView。例如,浏览内部列表以滚动到顶部不会导致外部ScrollView中的SliverAppBar折叠以展开。

滚动隐藏AppBar

Bash
NestedScrollView(
 headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
   return <Widget>[SliverAppBar(
     title: Text('技术刚刚好'),
  )];
},
 body: ListView.builder(itemBuilder: (BuildContext context,int index){
   return Container(
     height: 50,
     color: Colors.primaries[index % Colors.primaries.length],
     alignment: Alignment.center,
     child: Text(
       '',
       style: TextStyle(color: Colors.white, fontSize: 20),
    ),
  );
},itemCount: 20,),
)

其他属性

通过scrollDirection和reverse参数控制其滚动方向,用法如下:

Bash

NestedScrollView(
  scrollDirection: Axis.horizontal,
  reverse: true,
  ...
)

scrollDirection滚动方向,分为垂直和水平方向。


reverse参数表示反转滚动方向,并不是由垂直转为水平,而是垂直方向滚动时,默认向下滚动,reverse设置false,滚动方向改为向上,同理水平滚动改为水平向左。


controller为滚动控制器,可以监听滚到的位置,设置滚动的位置等,用法如下:


_scrollController = ScrollController();

//监听滚动位置
    _scrollController.addListener((){
      print('${_scrollController.position}');
    });
    //滚动到指定位置
    _scrollController.animateTo(20.0);

CustomScrollView(
  controller: _scrollController,
  ...
)

physics表示可滚动组件的物理滚动特性,系统提供的ScrollPhysics有:

  • AlwaysScrollableScrollPhysics:总是可以滑动
  • NeverScrollableScrollPhysics:禁止滚动
  • BouncingScrollPhysics :内容超过一屏 上拉有回弹效果
  • ClampingScrollPhysics :包裹内容 不会有回弹

谢谢观看技术刚刚好的文章,技术刚刚好是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。

相关推荐

高并发基础-一文带你了解Redis及其常见用法与应用场景

1.概述Redis是一个键值对存储的存储系统;一般用做缓存比较多,也可以将其作为数据库及消息中间件使用。传统应用中,数据存储在关系型数据库中,前端请求到来时通过SQL语句查询关系型数据库中的数据并返...

Python中的函数注释:参数有冒号,声明后有-&gt; 箭头

我在查看python的fixture源码时发现fixture的方法定义形式如下:deffixture(fixture_function:Optional[_FixtureFunctio...

干货!SQL性能优化,书写高质量SQL语句

写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范?以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助!1.limit分页优化...

一起学《C程序设计》第十课——结构体、共用体以及枚举类型

注意,请认真学习完《C程序设计(第五版)》第九章后再阅读本文会有更大的收获。结构体作用与定义前面我们学习过C语言的数组,C语言的数组在使用上有一定的局限性,比如我们常使用的一维数组一旦定义了就只能接纳...

8 种最坑的SQL错误用法,你有没有踩过?

来源:yq.aliyun.com/articles/725011、LIMIT语句2、隐式转换3、关联更新、删除4、混合排序5、EXISTS语句6、条件下推7、提前缩小范围8、中间结果集下推总结sq...

ArkTS基础语法:从声明到类型的深度解析

#ArkTS基础语法:从声明到类型的深度解析在鸿蒙应用开发的领域中,ArkTS作为重要的编程语言,其基础语法是开发者们必须掌握的关键内容。今天,我们就围绕ArkTS的声明和类型相关知识展开深入探讨,...

8 种最坑的 SQL 错误用法,你有没有踩过坑?

原文作者:程序员追风01、LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create_time...

Python常用数据类型及其用法-总结篇

前言在前面的文章中,我们介绍了Python常用的数据类型及其相关方法,分别为:《Python列表详解》《Python元组与字典用法详解》《Python集合详解》《Python字符串》与我们软件开发或测...

贯穿知识点看“线”(名师知识点总结训):状语从句

添加关注不迷路!!!状语从句状语从句有时间、地点、原因、目的、结果、条件、方式、比较和让步状语从句,共9种,是每年必考的语法项目,主要考查连词的判断选用,主句与从句谓语动词的时态运用。其中,以对时间状...

C++关键字介绍(c++语言中常用的关键字含义)

下表列出了C++中的常用关键字,这些关键字不能作为变量名或其他标识符名称。1、autoC++11的auto用于表示变量的自动类型推断。即在声明变量的时候,根据变量初始值的类型自动为此变量选择匹配的...

核心词汇aboard,abroad和board用法解析

1.aboardadv./prep.在船上;在(船、飞机、公共汽车、火车等)上;上(船、飞机、公共汽车、火车等)意为“在公共汽车/船/火车/飞机上;上公共汽车/船/火车/飞机”,可作介词式副词。Th...

Excel VBA小技巧:Areas集合,你不知道的多区域操作神器

大家好!今天我们来聊聊ExcelVBA中一个超级实用但经常被忽视的功能——Areas集合。如果你经常需要处理不连续的多区域操作,这篇文章绝对能让你眼前一亮!什么是Areas集合?简单来说,Areas...

Flink用法介绍(flink的使用场景)

自定义source只需要传入一个SourceFunction即可val stream4 = env.addSource( new MySensorSo...

amiable与amicable 用法辨析(able和capable的区别)

1.amiable/'emibl/用于指人,其意义为:“友好的”“和蔼的”(friendly,good-natured,good-humored):Thenext-doorneighbou...

常考词汇in terms of用法解析(in terms of doing)

intermsof含义较多,要根据上下文来判断,如:1.intermsof用……术语(话、字眼、口吻)Hereferredtoyourworkintermsofhighpr...