问题

问题1

问题:Flutter中Column嵌套Listview报overflowed错误.

解决:使用Column+Expanded+Listview布局界面.

问题2

问题:数组json转换成List

解决:

List list = json.decode(response.body);
List<User> result = [];
list.forEach((item) {
  result.add(User.fromJson(item));
});

问题3

问题:界面中请求网络的时机

解决:使用FutureBuilder

问题4

问题:material-design icon有哪些

解决:https://material.io/resources/icons/?icon=account_balance&style=baseline

问题5

问题:抽出appbar 时can't be assigned to the parameter type 'PreferredSizeWidget'

解决:

class MyToolbar extends StatelessWidget with PreferredSizeWidget {
  @override
  Widget build(BuildContext context) {
    return AppBar();
  }
  @override
  Size get preferredSize => Size.fromHeight(kToolbarHeight);
}

问题6

问题:flutter加载中文乱码

解决:

Utf8Decoder utf8decoder = Utf8Decoder();        
List list = json.decode(utf8decoder.convert(response.bodyBytes));

问题7

问题:flutter 写文件报 OS Error: Read-only file system

解决:使用path_provider插件获取目录

Directory tempDir = await getTemporaryDirectory();
String tempPath = tempDir.path;
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;

问题8

问题:设置android中的match_parent

解决:width: double.infinity

问题9

问题:AppBar中的leading设置大小无效

解决:被ConstrainedBox限制了大小,使用UnconstrainedBox嵌套一层即可

问题10

问题:使用bottomNavigationBar切换page时重新调用initState

解决:使用PageView包裹body,子page with AutomaticKeepAliveClientMixin,重写bool get wantKeepAlive => true

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注