flutter listview 滚动到底部_从头到尾撸一遍Flutter的一切...

v2-d98ae2263eef96249b1019b96a941019_b.jpg

Flutter学(cai)习(keng)之路(Exploring Flutter in action)


创世宣言

  • 尽情踩坑吧 ⤵️

主要Cover到的点

  • [x] 路由界面
  • [x] 状态传递
  • [x] 子Widget树获取父级StatefulWidget的State对象
  • [x] 基础控件
  • [x] 随机字符串
  • [x] 文本控件,字体样式(Text/TextStyle/Text.rich/TextSpan)
  • [x] 按钮系列(RaisedButton/FlatButton/OutlineButton/IconButton/FlatButton.icon/shape)
  • [x] 图片系列(ImageProvider/Image/Image.asset/Image.network)
  • [x] 单选开关和复选框Switch/Checkbox
  • [x] 输入框和表单(TextField/Form/TextFormField/FormState)
  • [x] 登录表单(TextField/Form/TextFormField/FormState)
  • [x] 各种样式的进度条(LinearProgressIndicator/CircularProgressIndicator)
  • [x] 布局控件
  • [x] 线性布局(Row/Column)
  • [x] 弹性布局(Flex/Expanded/Spacer)
  • [x] 流式布局(Wrap/Flow)
  • [x] 层叠布局(Stack/Positioned)
  • [x] 对齐与相对定位(Align/Alignment/FractionalOffset/Center)
  • [x] 容器控件
  • [x] 填充(Padding/EdgeInsets)
  • [x] 尺寸限制(ConstrainedBox/BoxConstraints/SizedBox/UnconstrainedBox)
  • [x] 装饰(DecoratedBox)
  • [x] 变换(Transform/Matrix4(作用于绘制阶段)/RotatedBox(作用于布局阶段))
  • [x] 容器(Container(多种装饰和填充等组件的组合)/Padding/Margin)
  • [x] 裁减(Clip/CustomClipper(裁减动作的作用时期与Transform相同,都作用于绘制阶段))
  • [x] 通用类导航主界面(Scaffold/AppBar/TabBar/TabBarView/Drawer/FloatingActionButton)
  • [x] 列表控件
  • [x] 单child滚动控件(SingleChildScrollView/Scrollbar)
  • [x] 有限列表项情况下使用ListView(ListView)
  • [x] 众多列表项情况下使用ListView(ListView.builder)
  • [x] 带分割线的列表项情况下使用ListView(ListView.separated)
  • [x] 下拉刷新上拉加载更多(初始化加载数据、结束时的标记、根据index判断底部是绘制结束的Widget还是正在加载时的Widget、Widget的正常显示)
  • [x] 有限GridView(GridView + SliverGridDelegateWithFixedCrossAxisCount)
  • [x] 有限GridView.count(效果完全等价于GridView + SliverGridDelegateWithFixedCrossAxisCount)
  • [x] 有限GridView(GridView + SliverGridDelegateWithMaxCrossAxisExtent)
  • [x] 有限GridView.extent(效果完全等价于GridView + SliverGridDelegateWithMaxCrossAxisExtent)
  • [x] 无限GridView加载(GridView.builder)
  • [x] 滚动监听(ScrollController/ScrollPosition)
  • [x] 触摸反馈
  • [x] 事件处理
    • [x] 原始指针(触摸事件)(撸一个触摸板)(Listener)
  • [x] 事件冒泡
    • [x] 不同事件冒泡行为之比较(HitTestBehavior.deferToChild/HitTestBehavior.opaque/HitTestBehavior.translucent/IgnorePointer)
  • [x] 手势识别
    • [x] 点击/双击/长按/拖动/滑动(GestureDetector)
    • [x] 缩放(GestureDetector)
    • [x] GestureRecognizer(当所修饰的对象不为widget且具有recognizer节点时可用)
  • [x] 事件总线
  • [x] 简易EventBus(Dart实现)
  • [x] EventBus界面演示
  • [x] 通知
  • [x] 通知事件名称(NotificationListener.onNotification)
  • [x] 自定义通知(覆写Notification + NotificationListener)
  • [x] 通知冒泡(onNotification回调中的return value)
  • [x] 存储路径访问和文件操作
  • [x] 存储路径访问(访问缓存/访问包路径/访问SD卡)(PathProvider)
  • [x] 网络编程
  • [x] HttpClient
  • [x] Dio(本质是基于HttpClient封装的上层API)
    • 更多Dio版本信息及API(官方地址)
  • [x] 功能控件及数据状态管理(InheritedWidget)
  • [x] 导航返回键和实体返回键拦截(再按一次确认退出)(WillPopScope)
  • [x] 控件跨级传递数据(InheritedWidget/dependOnInheritedWidgetOfExactType/getElementForInheritedWidgetOfExactType/updateShouldNotify/didChangeDependencies)
  • [x] 跨控件状态管理(手动实现Provider)
    • 第三方Provider实现
  • [x] 异步更新UI(FutureBuilder/StreamBuilder)
  • [x] 应用主题切换(Theme/ThemeData(内部通过InheritedWidget实现))
  • [x] 单个界面主题切换
  • [x] 全局界面主题切换
  • [x] 与原生互调和相互集成(MethodChannel.invokeMethod)
  • [x] Flutter调用Android Native方法
  • [x] Flutter界面跳转至Android Native界面
  • [x] WebView Flutter(webview_flutter)
  • [x] 开发者通用设置(MaterialApp)
  • [x] 是否显示界面布局网格(debugShowMaterialGrid)
  • [x] 是否打开性能监控,覆盖在屏幕最上面(showPerformanceOverlay)
  • [x] 是否打开栅格缓存图像的检查板(checkerboardRasterCacheImages)
  • [x] 是否打开显示到屏幕外位图的图层的检查面板(checkerboardOffscreenLayers)
  • [x] 是否打开覆盖图,显示框架报告的可访问性信息,显示边框(showSemanticsDebugger)
  • [x] 是否显示右上角的Debug标签(debugShowCheckedModeBanner)
  • [x] 切换操作系统平台(Android/iOS)
  • [x] 切换为Android应用: debugDefaultTargetPlatformOverride = TargetPlatform.android
  • [x] 切换为iOS应用: debugDefaultTargetPlatformOverride = TargetPlatform.iOS
  • [ ] 动画
  • [ ] 自定义控件
  • [ ] 国际化

正片(Action)

  • 内含大量gif图,loading可能会比较耗时,依自身网速而定

|

v2-61865916ae57e61e2dc1b07f456de3d5_b.gif

|

v2-f004d18354bfc40c8664676536827fb1_b.gif

|

v2-99f811ddd1521588f55d354ff051e39b_b.gif

|

v2-54e70ca64ba54b05cf111c4a66e0ba2e_b.gif

| | :---: | :---: | :---: | :---: | |

v2-a1971ef8dc8f0b163f9a32e464bc72a2_b.gif

|

v2-73ea924b60cc47e7c8b0dcda903a21a4_b.gif

|

v2-69e457d4e30c677de9540659363408b8_b.gif

|

v2-c45fd541795e6779c10077e7d60ff2e7_b.gif

| |

v2-221274b35bb3ec8eb12ab49616785088_b.gif

|

v2-6433565ad22afa0075c3442c43b3f983_b.gif

|

v2-0ef43f11f9b9b1eea372cc88e8663b4b_b.gif

|

v2-b12c3549b6c024596b3125cae0ceeea6_b.jpg

| |

v2-6b1c25c1c2c82ece34c4640689985ba4_b.gif

|

v2-94c8bc0e43c0f77bb652972a32b129bf_b.jpg

|

v2-34500e7bab42fa0cc27b8a89cd46f38e_b.jpg

|

v2-569ad078ec98f8f399124051356eecd7_b.jpg

| |

v2-95dad8e9af9c23e64575fa50ad205aba_b.jpg

|

v2-3c4a82fae742c05684799b3f5549256d_b.jpg

|

v2-60cec9f16d1867b35c9309c8853f4540_b.jpg

|

v2-4776450b8137c2160ea7fe75422353d9_b.jpg

| |

v2-0df1d6345eb7dedc812e134727701ced_b.jpg

|

v2-5826290493c8eb019f3aa3c1ae7cb66b_b.jpg

|

v2-d1dd449116dd91b227104bf190aeb0fc_b.jpg

|

v2-dbb9e8b27774eb54bbff3e631b1681ac_b.jpg

| |

v2-3cab2edcb9f02a1ea91322d254f4cea7_b.jpg

|

v2-a3b27d6416524bfa0af37c3ffc53b2ad_b.jpg

|

v2-1b854e633e8a6d4116095022bb729c07_b.jpg

|

v2-49c2bfa8b5d1a5fc83bbada352d00350_b.jpg

| |

v2-5ebd094c2d9b603d454439ee32ae18f5_b.jpg

|

v2-afb20d07b4b6945119ce914359084bcc_b.jpg

|

v2-205913461a8882f7453835dc29415b98_b.jpg

|

v2-bf54b68c59c72441f5a7aa303e777f39_b.jpg

|


整套效果的App下载链接

for Android

| OS平台应用包 | QRCode | | :---: | :---: | | Android APK包下载(内测密码:123456) |

v2-217ab4c390f30c10787a895c2136288e_b.jpg

Github项目地址​github.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值