底栏切换每次都重新请求是一件非常恶心的事,flutter 中提供了AutomaticKeepAliveClientMixin 帮我们完成页面状态保存效果. 1.AutomaticKeepAliveClientMixin AutomaticKeepAliveClientMixin 这个 Mixin 是 Flutter 为了保持页面设置的.哪个页面需要保持页面状态,就在这个页面进行混入. 不过使用使用这个 Mixin 是有几个先决条件的: 使用的页面必须是 StatefulWidget,如果是 St…
底栏切换每次都重新请求是一件非常恶心的事,flutter 中提供了AutomaticKeepAliveClientMixin 帮我们完成页面状态保存效果. 1.AutomaticKeepAliveClientMixin AutomaticKeepAliveClientMixin 这个 Mixin 是 Flutter 为了保持页面设置的.哪个页面需要保持页面状态,就在这个页面进行混入. 不过使用使用这个 Mixin 是有几个先决条件的: 使用的页面必须是 StatefulWidget,如果是 St…
如果你用过BottomNavigationBar.TabBar.还有Drawer,你就会发现,在切换页面之后,原来的页面状态就会丢失. 要是上一页有一个数据列表,很多数据,你滚动到了下头,切换页面后,想再看一下下头的数据,但是Flutter给你重回页面了... 这谁能顶得住啊. 看了一下解释,原来Flutter中为了节约内存不会保存widget的状态,widget都是临时变量. 不过还是有很多办法解决的,网上传言用 AutomaticKeepAliveClientMixin 配合 @overri…
增加切换的效果,我们主要是修改这个地方 这样我们的评论的内容就显示出来了 最终代码 details_web.dart import 'package:flutter/material.dart'; import 'package:provide/provide.dart'; import '../../provide/details_info.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'p…
点击左侧的大类右边的小类也跟着变化 新建provide 要改变哪里就建哪里的provide,我们现在要改变的是右边的商品列表的数组. category_goods_list.dart 这样我们的provide类就做好了 做好的provide类放到main.dart中注册 这一步叫做 把状态放入顶层 category_page.dart修改 _getGoodsList方法整体移动到左侧的大类 我们把他移动到了这里 方法移动过来以后,我们要接受一个参数类别id,这个类别是可选的,可选的参数用{}括起…
1.URL接口管理文件建立 第一步需要在建立一个URL的管理文件,因为课程的接口会一直进行变化,所以单独拿出来会非常方便变化接口.当然工作中的URL管理也是需要这样配置的,以为我们会不断的切换好几个服务器,组内服务器,测试服务器,内测服务器,公测上线服务器. 所以说一定要单独把这个文件配置出来,这也算是一个开发经验之谈吧. 在/lib/config文件夹下,建立一个service_url.dart文件,然后写入如下代码: #此端口针对于正版用户开放,可自行fiddle获取. const serv…
1.项目相关截图 2.项目知识点梳理图 Dio2.0: Dio是一个强大的 Dart Http 请求库,支持 Restful API.FormData.拦截器.请求取消等操作. Swiper: Swiper 滑动插件的使用,使用 Swiper 插件图片的切换效果. 路由Fluro:Flutter 的路由机制很繁琐,如果是小型应用还勉强,但是真实开发我们都会使用企业级的路由机制,让路由清晰可用.视频中也会使用 Fluro 进行路由配置,Fluro 也是目前最好的企业级Flutter路由. 屏幕适配…
https://github.com/PonnamKarthik/FlutterToast fluttertoast: ^3.0.1 category_page.dart页面添加引用 import 'package:fluttertoast/fluttertoast.dart'; 小类跳转到全部,没有数据的问题 本节课代码 provide/child_category.dart import 'package:flutter/material.dart'; import '../model/ca…
右侧列表上拉加载配合类别的切换 上拉加载需要一个page参数,当点击大类或者小类的时候,这个page就要变成1 provide内定义参数 首先我们需要定义一个page的变量 下图是我们之前在首页的时候做的上拉加载代码,之前属性noMoreText我们没有设置值,这里我也需要把这个属性加入到provide里面去. 在大类和小类的初始化的方法内,都需要把page设置为1,然后把提示信息设置为空 然后我们需要做page增加的方法,上拉刷新的时候,这个page值是不断的增加的 再增加改变我们的noMor…
1.引入flutter_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. 好牛X得介绍,一般敢用“最”的一般都是神级大神,看到这个介绍后我也是吃了碗贾玲代言的方便面(一桶半),压了压我激动的心情. Flutter_swiper的GitHub地址:https://github.com/best-flutter/flutter_swiper 了解flutter_swiper后,需要作的第一件事就再pubspec.yaml文件中引入这个…