我为SnackBar创建了一个Common类,
class MySnackBar extends StatelessWidget {
String message;
int duration;
BuildContext context;
MySnackBar(BuildContext context,String message, int duration) {
this.message = message;
this.duration = duration;
this.context = context;
}
@override
Widget build(BuildContext context) {
return _showSnackBar(this.context, message, duration);
}
Widget _showSnackBar(BuildContext context, String message, int duration) {
Scaffold.of(context).showSnackBar(SnackBar(
content: Text(message),
duration: Duration(seconds: duration),
));
}
}
我正在从这样的其他小部件中调用此类,
MySnackBar(
context,
_postDetailsModel
.language.postScreen.bookmarkOwnMessage,
3);
但是它既不显示小吃店,也不抛出错误。谁能告诉我我所缺少的东西,或者有什么方法可以创建普通的小吃店课程?
答案 0 :(得分:1)
您应该直接使用:
format()
作为方法而不是窗口小部件。
答案 1 :(得分:1)
您可以使用冲洗栏https://pub.dev/packages/flushbar
创建customFlushBar
import 'package:flushbar/flushbar.dart';
import 'package:flutter/material.dart';
Flushbar customFlushBar(BuildContext context,String text){
return Flushbar(
flushbarPosition: FlushbarPosition.TOP,
message: text,
icon: Icon(
Icons.info_outline,
size: 28.0,
color: Colors.blue[300],
),
duration: Duration(seconds: 3),
leftBarIndicatorColor: Colors.blue[300],
)..show(context);
}
您可以这样称呼:
customFlushBar(context, 'Sign in failed');