[flutter商城地址](https://github.com/xiaoliudeHub/Flutter_shop)
1. 用到的packages
屏幕适配: flutter_screenutil。
轮播组件:flutter_swiper。
拨打电话:url_launcher。
上拉加载:flutter_easyrefresh。
状态管理:provide。
提示:fluttertoast。
路由管理:fluro。
加载html:flutter_html。
持久化插件:shared_preferences
2.列表中嵌套gridView时禁止gridView的滚动事件
physics: NeverScrollableScrollPhysics(),
3.保持页面的状态(不让每次切换界面就重新加载)
需要在界面混入AutomaticKeepAliveClientMixin.
使用条件:
1.使用的页面必须是StatefulWidget,如果是StatelessWidget是没办法办法使用的。
2.其实只有两个前置组件才能保持页面状态:PageView和IndexedStack。
3.重写wantKeepAlive方法,如果不重写也是实现不了的。
@override
bool get wantKeepAlive => true;
4.给价格添加中划线
Text(
'¥${val['price']}',
style: TextStyle(
color: Colors.black26,
decoration: TextDecoration.lineThrough,
),
),
5.json数据转model类
1.这个网站可以方便的把json数据转成dart类 javiercbk.github.io/json_to_dar…
2.还可以使用json_model这个packages,使用命令flutter packages run json_model自动生产model类。
6.报错 Vertical viewport was given unbounded height.
. 把ListView的这个属性加上
shrinkWrap: true,
7.ListView布局越界
给固定的高度在不同屏幕出现了越界,使用Expanded组件将container包裹起来,去掉高度设置。