[flutter商城地址](https://github.com/xiaoliudeHub/Flutter_shop)
1. 用到的packages
屏幕適配: flutter_screenutil疗我。
輪播組件:flutter_swiper咙边。
撥打電話:url_launcher。
上拉加載:flutter_easyrefresh。
狀態(tài)管理:provide魏颓。
提示:fluttertoast。
路由管理:fluro丑孩。
加載html:flutter_html叠骑。
持久化插件:shared_preferences
2.列表中嵌套gridView時(shí)禁止gridView的滾動(dòng)事件
physics: NeverScrollableScrollPhysics(),
3.保持頁面的狀態(tài)(不讓每次切換界面就重新加載)
需要在界面混入AutomaticKeepAliveClientMixin.
使用條件:
1.使用的頁面必須是StatefulWidget,如果是StatelessWidget是沒辦法辦法使用的。
2.其實(shí)只有兩個(gè)前置組件才能保持頁面狀態(tài):PageView和IndexedStack祟印。
3.重寫wantKeepAlive方法肴沫,如果不重寫也是實(shí)現(xiàn)不了的。
@override
bool get wantKeepAlive => true;
4.給價(jià)格添加中劃線
Text(
'¥${val['price']}',
style: TextStyle(
color: Colors.black26,
decoration: TextDecoration.lineThrough,
),
),
5.json數(shù)據(jù)轉(zhuǎn)model類
1.這個(gè)網(wǎng)站可以方便的把json數(shù)據(jù)轉(zhuǎn)成dart類 javiercbk.github.io/json_to_dar…
2.還可以使用json_model這個(gè)packages蕴忆,使用命令flutter packages run json_model自動(dòng)生產(chǎn)model類颤芬。
6.報(bào)錯(cuò) Vertical viewport was given unbounded height.
. 把ListView的這個(gè)屬性加上
shrinkWrap: true,
7.ListView布局越界
給固定的高度在不同屏幕出現(xiàn)了越界,使用Expanded組件將container包裹起來套鹅,去掉高度設(shè)置站蝠。