您的位置:首页 > 其它

Flutter开发之SnackBar提示组件-4(43)

2019-07-24 16:58 1566 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/shifang07/article/details/97139992

SnackBar无论是用法还是功能使用几乎都跟原生Android一样 ,唯一有一点需要留意的是在

Scaffold.of(context).showSnackBar()
中传递的
context
必须不能是
Scaffold
下面的
Context

原因解释

因为

Scaffold.of()
方法需要从Widget树中去找到Scaffold的Context,所以如果直接在Scaffold中使用showSnackBar,需要在外面包裹上Builder Widget,这个Builder不做任何的其他操作,只不过把Widget树往下移了一层而已。
SnackBar的效果图,你会发现跟原生Android如出一辙。

示例代码

import 'package:flutter/material.dart';

class SnackBarTest extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SnackBar示例'),
),
body: Center(
child: Text(
'SnackBar示例',
style: TextStyle(fontSize: 28.0),
),
),
floatingActionButton: new Builder(builder: (BuildContext context) {
return new FloatingActionButton(
child: const Icon(Icons.add),
onPressed: () {
//点击回调事件 弹出一句提示语句
Scaffold.of(context).showSnackBar(new SnackBar(
content: new Text("显示SnackBar"),
));
},
shape: new CircleBorder(),
);
}),
floatingActionButtonLocation:
FloatingActionButtonLocation.endFloat, //居中放置 位置可以设置成左中右
);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: