Cómo crear tostadas en Flutter
¿ Puedo crear algo similar a Toasts en Flutter?
Solo una pequeña ventana de notificación que no está directamente frente al usuario y no bloquea ni desvanece la vista detrás de ella.
Aceptado
ACTUALIZACIÓN: Scaffold.of(context).showSnackBar
está en desuso en Flutter 2.0.0 (estable)
Puede acceder al padre ScaffoldMessengerState
usando ScaffoldMessenger.of(context)
.
Entonces haz algo como
ScaffoldMessenger.of(context).showSnackBar(const SnackBar(
content: Text("Sending Message"),
));
Las snackbars son el "brindis" oficial de Material Design. Ver Chiringuitos .
Aquí hay un ejemplo completamente funcional:
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),
),
);
}
}
Utilice el complemento fluttertoast
agregue esta línea a sus dependencias
fluttertoast: ^8.1.1
Luego puede usar Toast sin contexto de compilación (tiene funciones limitadas y no tiene control sobre la interfaz de usuario, consulte el documento)
Fluttertoast.showToast(
msg: "This is a Toast message",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.CENTER,
timeInSecForIosWeb: 1,
textColor: Colors.white,
fontSize: 16.0
);