0%

Flutter 里的坑

flutter 虽好, 但坑也很多

官方 bug

在 Row 里放 TextField 出错

参考链接

在官方解决这个 bug 前, 只能通过以下方式解决:

1
2
3
4
5
Row(
children: <Widget>[
Expanded(child: TextField()),
],
)

这时如果在这个 TextField 前还有其他组件会发现其他组件被挤在了一边. 因为 Expanded 会自动填充 Row 所有剩余空间.

解决方法是把其他组件分别放在 Container 中, 并给 Container 设置宽度, 提前占据一定空间. 从这里可以大概看到为什么放 TextField 会出 bug 了.

1
2
3
4
5
6
7
Container(
width: 60,
child: new Text(
'unit',
style: _biggerFont,
),
),

引用图片

官方文档

要给程序插上背景图片, 网上找了教程基本都是写:

1
2
3
4
5
6
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("img/~.jpg"),
fit: BoxFit.cover,
)
),

但基本都没提到要在 pubspec.yaml 中引入这些图片, 在 github 看了别人的回答才知道又踩坑了~~

如果你的图片项目根目录中则在 pubspec.yaml 添加一下内容:

1
2
3
flutter
assets:
- img/

这里好像热重启不起效, 挺烦的. 还有大家好像更习惯 images ?