我可以在Flutter中创建类似Toasts的东西吗?
只是一个很小的通知窗口,不直接面对用户,也不锁定或淡出它后面的视图。
我可以在Flutter中创建类似Toasts的东西吗?
只是一个很小的通知窗口,不直接面对用户,也不锁定或淡出它后面的视图。
当前回答
这很简单:
我们只需要安装颤动吐司包。 请参考以下文档: https://pub.dev/packages/fluttertoast
在安装选项卡,你会得到依赖,你必须把它粘贴到pubspec。Yaml文件然后安装。
在此之后,只需导入包:
import 'package:fluttertoast/fluttertoast.dart';
类似于上面的一行。
然后通过使用FlutterToast类你可以使用你的FlutterToast。
你做完了! !
其他回答
对此,有不同的版本。
首先,您可以使用SnackBar,这是Flutter中的一个小部件。 您可以使用pub.dev中的toast - flutter_toast等库。 第三个版本是创建自定义小部件。它可以在Flutter中使用Overlay小部件和动画创建。
您可以通过本教程了解更多相关知识。这里有一个链接。
在Flutter中显示Toast消息非常简单:
Scaffold.of(context).showSnackBar(SnackBar(
content: Text("Toast Text Here"),
));
更新:Scaffold.of(上下文)。showSnackBar在Flutter 2.0.0中已弃用(稳定)
你可以使用ScaffoldMessenger.of(context)访问父类ScaffoldMessengerState。
然后做一些类似的事情
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text("Sending Message"),
));
零食条是材料设计的官方“吐司”。看到间小吃店。
下面是一个完整的例子:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Home(),
);
}
}
class Home extends StatelessWidget {
const Home({
Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Snack bar'),
),
body: Center(
child: RaisedButton(
onPressed: () => _showToast(context),
child: const Text('Show toast'),
),
),
);
}
void _showToast(BuildContext context) {
final scaffold = ScaffoldMessenger.of(context);
scaffold.showSnackBar(
SnackBar(
content: const Text('Added to favorite'),
action: SnackBarAction(label: 'UNDO', onPressed: scaffold.hideCurrentSnackBar),
),
);
}
}
这很简单:
我们只需要安装颤动吐司包。 请参考以下文档: https://pub.dev/packages/fluttertoast
在安装选项卡,你会得到依赖,你必须把它粘贴到pubspec。Yaml文件然后安装。
在此之后,只需导入包:
import 'package:fluttertoast/fluttertoast.dart';
类似于上面的一行。
然后通过使用FlutterToast类你可以使用你的FlutterToast。
你做完了! !
用https://pub.dev/packages/toast做吐司。这个库非常容易使用,适用于iOS和Android。
显示Toast的语法:
Toast.show("Toast plugin app", duration: Toast.LENGTH_SHORT, gravity: Toast.BOTTOM);