flutter - Snackbar 未在颤动中显示
问题描述
我似乎无法弄清楚为什么这不起作用。当我点击按钮时,我应该得到一个小吃店。有什么帮助吗?Flutter api 上的代码片段运行良好
void main() => runApp(SnackBarDemo());
class SnackBarDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SafeArea(
child: Scaffold(
body: Center(
child: InkWell(
// When the user taps the button, show a snackbar.
onTap: () {
Scaffold.of(context).showSnackBar(SnackBar(
content: Text('Tap'),
));
},
child: Container(
padding: EdgeInsets.all(12.0),
child: Text('Flat Button'),
),
),
)
)
)
);
}
}
解决方案
您正在调用showSnackbar
同一级别的小部件Scaffold
,因此您发送到此方法的上下文不包含Scaffold
,
解决方案:使这个小部件低于Scaffold
:
void main() => runApp(SnackBarDemo());
class SnackBarDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SafeArea(
child: Scaffold(
body: Center(
child: Builder(
builder: (context)=>InkWell(
// When the user taps the button, show a snackbar.
onTap: () {
Scaffold.of(context).showSnackBar(SnackBar(
content: Text('Tap'),
));
},
child: Container(
padding: EdgeInsets.all(12.0),
child: Text('Flat Button'),
),
),
),
)
)
)
);
}
}
推荐阅读
- javascript - 永久保存对 ContentEditable 所做的更改?
- java - 为什么在使用 LocalDate 作为 POJO 的数据类型时,univocity 的 CsvParser 会抛出错误以及如何解决它?
- google-api - 如何构建一个使用谷歌日历 api 而无需验证的 web 应用程序?
- c# - 通用工作单元
- python - Python对象实例中的dict不包含类的方法
- python - 将熊猫数据框转换为 keras 的分类
- sublimetext3 - 在 Sublime Text 中折叠/展开母版时,在任何级别上保留子折叠
- qt - QLabel 更改字体颜色而不更改任何其他样式
- python - Python 的 POW 实现比我自己的快得多
- python - 单词列表中的两个元素