使用another_flushbar包实现的snackbar如何在点击时隐藏?
实现方法
只需要为Flushbar配置onTap回调参数,在回调中调用实例的dismiss()方法即可主动隐藏弹窗,修改后的代码可参考如下两种写法:
- 单独定义实例的写法
// 提前声明Flushbar实例 Flushbar flushbar = Flushbar( title: "Title", message: 'some message here', duration: Duration(seconds: 3), flushbarPosition: FlushbarPosition.TOP, onTap: (currentBar) { currentBar.dismiss(); }, ); // 显示弹窗 flushbar.show(context);
- 链式调用写法
Flushbar( title: "Title", message: 'some message here', duration: Duration(seconds: 3), flushbarPosition: FlushbarPosition.TOP, // 直接在回调中处理隐藏逻辑 onTap: (bar) => bar.dismiss(), )..show(context);
完成配置后,点击弹出的snackbar就会立即触发隐藏逻辑,同时原有的3秒自动隐藏逻辑不受影响,未点击的情况下3秒后也会自动消失。
内容的提问来源于stack exchange,提问作者rozerro
相关产品推荐
相关产品推荐

