Flutter 商城项目知识点

[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包裹起来,去掉高度设置。

你可能感兴趣的:(Flutter 商城项目知识点)