MediaQuery.removePadding 移除顶部的 padding

import 'package:flutter/material.dart';
// 导入swiper 组件
import 'package:flutter_swiper/flutter_swiper.dart';const APPBAR_SCROLL_OFFSET = 200;
class HomePage extends StatefulWidget
{// 重写Create State 方法@override_HomePageState createState() => _HomePageState();}class _HomePageState extends State<HomePage>
{//定义一个AppBar 的透明度默认值double appBarAlpha = 0;List _imgUrls = ['http://pic1.nipic.com/2008-12-05/200812584425541_2.jpg','http://pic18.nipic.com/20111129/4155754_234055006000_2.jpg','http://b-ssl.duitang.com/uploads/item/201412/25/20141225204152_aYEc3.jpeg'];@override  Widget build(BuildContext context) {return Scaffold(// MediaQuery.removePadding 移除顶部的 padding// 使用Stack 的作用就是让AppBar 叠加在上面body: Stack(children: <Widget>[MediaQuery.removePadding(removeTop: true,context: context,// 监听列表的滚动child: NotificationListener(// 滚动的回调onNotification: (scrollNotifation){// 判断ListView滚动的效果if (scrollNotifation is ScrollUpdateNotification && scrollNotifation.depth == 0){// 滚动且是列表滚动的的的时候double offset =  scrollNotifation.metrics.pixels;print(offset);double  alpha =  offset / APPBAR_SCROLL_OFFSET;if(alpha < 0){alpha =  0;}else if (alpha > 0){alpha =  1;}setState(() {appBarAlpha = alpha;});print(alpha);}},  child: ListView(children: <Widget>[Column(children: <Widget>[Container(height: 160,// child:Swiper(itemCount: _imgUrls.length,autoplay: true,itemBuilder: (BuildContext context,int index){// 获取图片return Image.network(_imgUrls[index],// 适配方式fit: BoxFit.fill,);},// 添加一个页码指示器pagination: SwiperPagination(),),),Container(height: 800,child: ListTile(title: Text("Nice"),),)],),],),),),// 创建AppBarOpacity(// 当列表滚动的时候 改变其透明度的值opacity: appBarAlpha,child: Container(height: 80,decoration: BoxDecoration(color: Colors.white),child: Center(child: Padding(padding: EdgeInsets.only(top: 20),child: Text('首页'),),),),)],));}}

17-flutter导航栏渐变效果相关推荐

  1. 【Flutter -- 基础组件】Flutter 导航栏

    文章目录 1. TabBar 1.1 代码 1.2 效果图 2. BottomNavigationBar 2.1 构建底部标签 2.2 创建导航栏 2.3 效果图 1. TabBar Flutter ...

  2. Flutter 导航栏AppBar

     恢弘志士之气,不宜妄自菲薄.--诸葛亮 People of noble ambition should not belittle themselves.     zhugeliang 以上效果是谷歌 ...

  3. 导航栏透明度渐变; 下拉头视图拉伸效果;勾号动画; 一段文字中点击部分可响应不同事件...

    之前通过设置navigationBar的barTintColor设置导航栏颜色,然后拿到self.navigationController.navigationBar.subviews.firstOb ...

  4. 0918 iOS10兼容/iOS系统过高或过低配置包/混合引擎的在线视频连麦互动直播/源码管理工具/Xcode8插件升级/导航栏渐变

    1 兼容iOS 10 资料整理笔记 http://www.jianshu.com/p/42e506998082 iOS developerDiskImage 这是由于真机系统过高或者过低,Xcode中 ...

  5. 【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )

    文章目录 一.BottomNavigationBar 底部导航栏 二.PageView 滑动页面 三.BottomNavigationBar 与 PageView 关联 四.完整代码示例 1.核心导航 ...

  6. 【Flutter】侧拉导航栏实现 ( Drawer 组件 | PageView 组件 )

    文章目录 一.Drawer 组件 二.PageView 组件 三.完整代码示例 四.相关资源 一.Drawer 组件 Scaffold 组件中的 drawer 参数 , 就是设置侧拉导航栏菜单的 , ...

  7. 【Flutter】底部导航栏实现 ( BottomNavigationBar 底部导航栏 | BottomNavigationBarItem 导航栏条目 | PageView )

    文章目录 一.Scaffold 组件 二.底部导航栏整体架构 三.BottomNavigationBar 底部导航栏 四.BottomNavigationBarItem 导航栏条目 五.PageVie ...

  8. 【Flutter】顶部导航栏实现 ( Scaffold | DefaultTabController | TabBar | Tab | TabBarView )

    文章目录 一.Scaffold 组件 二.实现顶部导航栏 三.DefaultTabController 导航标签控制组件 四.TabBar 导航按钮组件 五.Tab 标签组件 六.TabBarView ...

  9. 【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )

    文章目录 一.BottomNavigationBar 组件 二.BottomNavigationBarItem 组件 三.BottomNavigationBar 底部导航栏代码示例 四.BottomN ...

最新文章

  1. Mybatis基于XML配置SQL映射器(二)
  2. NO_CHANGE_ALLOWED error code
  3. 【心情】今天买了ZÈRTZ!
  4. Linux的实际操作:文件目录类的实用指令(重定向“>“和追加“>>“)
  5. 算法测试及对比度进一步增强
  6. 3 - Spring AOP
  7. day12【过渡】SpringCloud
  8. Ceylon 1.0.0
  9. zedboard linux内核下载,zedboard学习-为Linux内核打补丁
  10. spark union 会引起shuffle吗_脑鸣不是耳鸣 会引起听力下降吗?
  11. GIS案例练习-----------第八天
  12. 自主开发的3D打印软件
  13. 长虹电视刷机固件包汇总
  14. E盾网络验证企业版个人版离线版加密防破解易语言源码加密对接好的自绘界面2
  15. 学生信息管理系统(数据库)
  16. Qt QLineEdit自带右键菜单的翻译
  17. 微信小程序-bug-页面不存在
  18. 软件测试基础知识:按照测试实施组织,可将测试划分为开发方测试、用户测试、第三方测试。下面关于开发方测试的描述正确的是______。
  19. 【问题记录】js 更改数组中某字段名
  20. ZTNA方案守住随时随地办公的安全防线

热门文章

  1. js 获取URL后面的参数
  2. 用C#编写获取远程IP,MAC的方法
  3. 征集佳句-精妙SQL语句收集
  4. 适当地使用公共语言运行库的垃圾回收器和自动内存管理
  5. Libevent调用
  6. CUDA Samples: matrix multiplication(C = A * B)
  7. OpenCV中OpenCL模块函数
  8. matlab最小分类错误全局二值化算法
  9. 【FFmpeg】ffmpeg命令详解(三)高级选项
  10. 【Qt】QCamera查询和设置摄像头的分辨率