当前位置: 首页 > news >正文

Flutter SliverAppBar 吸顶效果

吸顶是常见的布局,主要使用的是CustomScrollView 和SliverApp组件实现的

页面布局

  @overrideWidget build(BuildContext context) {return CustomScrollView(controller: controller.scrollController!,physics: const BouncingScrollPhysics(),slivers: [SliverAppBar(backgroundColor: Colors.blue,iconTheme: const IconThemeData(color: Colors.white),expandedHeight: controller.kExpandedHeight,floating: false,pinned: true,stretch: false,snap: false,stretchTriggerOffset: ScreenHelper.height(100),onStretchTrigger: () async {return;},flexibleSpace: FlexibleSpaceBar(centerTitle: true,title: Obx(() => Text(controller.isAppBArPinned.value ? "体重检测" : "",style: TextStyle(color: Colors.white, fontSize: ScreenHelper.sp(16)),)),collapseMode: CollapseMode.parallax,stretchModes: [StretchMode.zoomBackground,StretchMode.fadeTitle,StretchMode.blurBackground,],background: Container(color: Colors.blue,child: Column(mainAxisAlignment: MainAxisAlignment.start,children: [SizedBox(height: ScreenHelper.topSafeHeight + 18),Text("2021年12月30日 13:00",style: TextStyle(color: Colors.white.withOpacity(.8)),),SizedBox(height: ScreenHelper.height(30)),Row(mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.end,children: [Text("52.0",style: TextStyle(color: Colors.white,fontSize: ScreenHelper.sp(40),fontWeight: FontWeight.bold),),Text("kg",style: TextStyle(color: Colors.white, fontSize: ScreenHelper.sp(13)),)],),SizedBox(height: ScreenHelper.height(5),),Text("BMI 20.7 标准",style: TextStyle(color: Colors.white.withOpacity(.8),fontSize: ScreenHelper.sp(14)),),SizedBox(height: ScreenHelper.height(15),),Container(padding: EdgeInsets.symmetric(horizontal: 6, vertical: 4),decoration: BoxDecoration(color: Colors.yellow,borderRadius: BorderRadius.circular(50)),child: Text("记录体重",style: TextStyle(color: Colors.white, fontSize: ScreenHelper.sp(14)),),)],),),),),SliverFixedExtentList(delegate: SliverChildBuilderDelegate((context, index) => ListTile(title: Text("测试",style: TextStyle(color: AppTheme.dartTextColor),),),childCount: 30),itemExtent: 50.0,),],);}

因为使用的getx状态管理,所以数据的操作都在getx里

GetxController 

 ScrollController? scrollController;final isAppBArPinned = false.obs; //判断APPbar是否吸顶double kExpandedHeight = ScreenHelper.width(240);void onInit() {// TODO: implement onInitscrollController = ScrollController()..addListener(_onScroll);super.onInit();}void _onScroll() {if (scrollController!.hasClients &&scrollController!.offset > kExpandedHeight - kToolbarHeight) {isAppBArPinned.value = true;} else {isAppBArPinned.value = false;}}@overridevoid onClose() {// TODO: implement onClosesuper.onClose();scrollController!.dispose();}

最后呈现的效果

吸顶

相关文章:

Flutter SliverAppBar 吸顶效果

吸顶是常见的布局,主要使用的是CustomScrollView 和SliverApp组件实现的 页面布局 overrideWidget build(BuildContext context) {return CustomScrollView(controller: controller.scrollController!,physics: const BouncingScrollPhysics(),slivers: [SliverApp…...

Java Spring Boot 自动装配:简化配置和提高开发效率

Spring Boot 自动装配是 Spring Boot 提供的一种特性,它可以根据应用程序的依赖关系和配置信息,自动配置应用程序的各种组件和功能。这样,开发者可以将更多的精力放在业务逻辑的实现上,而不需要手动配置和管理各种组件。 1. 自动…...

对象转换之modelmapper

1. 官网地址:http://modelmapper.org 源码地址:GitHub - modelmapper/modelmapper: Intelligent object mapping 2.实现原理: 主要是基于匹配策略进行属性的转化,目前支持三种策略: 2.1 Standard(默认标准…...

Ant Design+react 路由跳转

今天我们来继续探讨react的路由跳转 首先,创建router文件夹中的index import { lazy } from "react"; import { Outlet,useRoutes } from react-router-dom; //引入页面,引用了路由懒加载 const One lazy(() > import(../pages/one)); c…...

提高爬虫效率的秘诀之一:合理配置库池数量

在提高爬虫效率的过程中,合理配置库池数量是一个重要的秘诀。通过增加或减少库池的数量,可以有效提升爬虫系统的效率和稳定性。本文将介绍如何合理配置库池数量,以及配置不同数量库池的优缺点,帮助您提高爬虫效率,顺利…...

初学者必看,前端 Debugger 调试学习

1.文章简介: 报错和Bug,是贯穿程序员整个编程生涯中,无法回避的问题。而调试,就是帮助程序员定位问题、解决问题的重要手段,因此调试是每个程序员必备技能。 调试本身可分为两个过程: 定位问题 和 解决问题&#xff0…...

Dubbo—Admin 整体架构与安装步骤

​回顾 Dubbo 服务治理体系的总体架构,Admin 是服务治理控制面中的一个核心组件,负责微服务集群的服务治理、可视化展示等。 Admin 部署架构 总体上来说,Admin 部署架构分为以下几个部分: Admin 主进程,包括服务发现…...

C++11打断线程的几种方式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pthread_cancel1.代码演示2.两个重要方法1.pthread_setcancelstate2.pthread_setcanceltype 3.资源回收 二、Boost1.看代码2.资源泄露2.资源回收 总结 前言…...

如何提升网站排名和用户体验:优化网站速度

网站的排名和用户满意度直接受到站点内容的加载速度影响深远。通过精心的网站优化,您不仅可以提高排名,还可以提供更出色的用户体验,尽管用户可能不会察觉到您的网站加载得更快,但这是一个非常有意义的改进。在这篇文章中&#xf…...

【Redis】Hash 哈希内部编码方式

Hash 哈希内部编码方式 哈希的内部编码有两种: ziplist(压缩列表):当哈希类型元素个数⼩于hash-max-ziplist-entries配置(默认512个)、同时所有值都⼩于hash-max-ziplist-value配置(默认64字节…...

JUC第二十八讲:JUC工具类: Semaphore详解

JUC工具类: Semaphore详解 本文是JUC第二十八讲,JUC工具类: Semaphore详解。Semaphore底层是基于AbstractQueuedSynchronizer来实现的。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证…...

vue3组合式API实现父组件触发子组件中的方法 | vue3中ref的用法 | defineExpose的使用场景

vue3组合式API实现父组件触发子组件中的方法 | vue3中ref的用法 | defineExpose的使用场景 目录 vue3组合式API实现父组件触发子组件中的方法 | vue3中ref的用法 | defineExpose的使用场景一、问题背景二、解决方法三、示例 一、问题背景 代码环境:vue3 &#xff0…...

【Qt之QTableWidget和QTreeWidget】树悬停、选择样式及表格表头和首行间隔线

QTableWidget设置表头与首行间隔线 win10 实例化QTableWidget后,表格表头和首行中间无间隔线,以下是通过样式表进行设置: // 设置横向表格头的间隔线,可设置四个方向的间隔线,不需要间隔线的可以设置为0px// border-left:0px sol…...

使用余弦算法计算向量相似性

import pandas as pd import numpy as np import openaifrom openai.embeddings_utils import get_embedding, cosine_similarityopenai.api_key sk-???? embedding_model "text-embedding-ada-002" embedding_encoding "cl100k_base" # this the …...

存档&改造【06】Apex-Fancy-Tree-Select花式树的使用误删页数据还原(根据时间节点导出导入)

之前一直想实现厂区-区域-产线之间的级联选取,于是导入插件Apex-Fancy-Tree-Select花式树 存档&改造【03】Apex-Fancy-Tree-Select花式树的导入-CSDN博客 现在则是在Oracle Apex中的应用 花式书级联列表展示厂区-区域-产线 想要实现的效果 由厂区>…...

OpenCV7-copyTo截取ROI

OpenCV7-copyTo截取ROI copyTo截取感兴趣区域 copyTo截取感兴趣区域 有时候,我们只对一幅图像中的部分区域感兴趣,而原图像又十分大,如果带着非感兴趣区域一次处理,就会对程序的内存造成负担,因此我们希望从原始图像中…...

OpenCV10-图像直方图:直方图绘制、直方图归一化、直方图比较、直方图均衡化、直方图规定化、直方图反射投影

OpenCV10-图像直方图:直方图绘制、直方图归一化、直方图比较、直方图均衡化、直方图规定化、直方图反射投影 1.直方图的绘制2.直方图归一化3.直方图比较4.直方图均衡化5.直方图规定化(直方图匹配)6.直方图反向投影 1.直方图的绘制 图像直方图…...

线性回归模型进行特征重要性分析

目的 线性回归是很常用的模型;在局部可解释性上也经常用到。 数据归一化 归一化通常是为了确保不同特征之间的数值范围差异不会对线性模型的训练产生过大的影响。在某些情况下,特征归一化可以提高模型的性能,但并不是所有情况下都需要进行归一…...

hadoop -hive 安装

1.下载hive http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz2.解压/usr/app 目录 tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /usr/app3.设置软连接 ln -s /usr/app/apache-hive-3.1.3-bin /usr/app/hive4.修改/usr/app/hive/conf/hive-env.…...

小迈物联网网关对接串口服务器[Modbus RTU]

很多工控现场,方案中会使用串口服务器采集Modbus RTU的设备,这种情况下一般会在PC机上装上串口服务器厂家的软件来进行数据采集。如果现场不需要PC机,而是通过网关将数据传输到软件平台,如何实现呢? 本文简要介绍小迈网…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

Android15默认授权浮窗权限

我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

深度学习水论文:mamba+图像增强

🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...