Created with <3 with dartpad.dev.
Last active
December 25, 2022 09:59
-
-
Save isaacadariku/a224a222605834cdc86b672ca0b5b866 to your computer and use it in GitHub Desktop.
App-wide notifications demo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
const Color darkBlue = Color.fromARGB(255, 18, 32, 47); | |
void main() { | |
runApp(MyApp()); | |
} | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
theme: ThemeData.dark().copyWith( | |
scaffoldBackgroundColor: darkBlue, | |
), | |
debugShowCheckedModeBanner: false, | |
home: Scaffold( | |
body: Center( | |
child: NotificationListener<MyNotification>( | |
child: MyWidget(), | |
onNotification: (notification) { | |
print('Notification received: ${notification.message}'); | |
return true; | |
}, | |
), | |
), | |
), | |
); | |
} | |
} | |
class MyWidget extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return GestureDetector( | |
onTap: () { | |
context.dispatchNotification(MyNotification('Merry Christmas and Happy Holidays!')); | |
}, | |
child: Text( | |
'Click me and check the console', | |
style: Theme.of(context).textTheme.headline4, | |
), | |
); | |
} | |
} | |
class MyNotification extends Notification { | |
final String message; | |
MyNotification(this.message); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment