本文不是讲技术的
本文不是讲技术的
本文不是讲技术的
重要的事情说三遍。。。
之所以发这篇文章,只是为了记录自己在学习 Flutter 的道路上的一些坑,方便以后查找问题。如果有需要的同学也可以从中找到自己的问题解决办法。
本文会持续更新...凡是遇到的问题,都会顺序整理进去。
1.Scaffold.of() called with a context that does not contain a Scaffold.
当你在 dart 文件中要使用 SnackBar 时,需要调用 BuildContext 参数,但是你经常会遇到 在使用的时候报上边的错
为什么会出现这个问题呢?很多时候是因为你传递的 BuildContext 不是 Scaffold 的,而是当前parent widget 的,所以会有这个问题。那么该怎么解决这个问题呢?目前我发现两种方案:
option1:
使用 Builder 包裹
option2:
给Scaffold 设置一个全局 key,通过 key 的如下方法来显示
var _scaffoldkey = new GlobalKey<ScaffoldState>();
Scaffold(
key: _scaffoldkey,
body: SafeArea(
child: _buildContent(),
),
)
// 显示 SnackBar 的方法
void showSnackBar(String text) {
_scaffoldkey.currentState.showSnackBar(SnackBar(
content: Text(text),
backgroundColor: Colors.blueAccent,
));
}
2.如何获取 Widget 的宽高尺寸呢?
可以使用 context.size.height context.size.width 分别获取 Widget 的宽高尺寸
3.
更新中......
网友评论