Features
- Alert message dialog
- Editable dialog
- Loading dialog
- Message dialog
- Message snack bar
- Error snack bar
- Warning snack bar
Import
import 'package:flutter_androssy_dialogs/dialogs.dart';
Init customizations (OPTIONAL)
void initDialogs() {
Dialogs.init(
alertDialogConfig: (context) =>
const AlertDialogConfig(
positiveButtonTextStyle: TextStyle(
color: Colors.orange,
fontWeight: FontWeight.bold,
fontSize: 18,
),
material: false,
),
messageDialogConfig: (context) =>
const MessageDialogConfig(
buttonTextStyle: TextStyle(
color: Colors.orange,
fontWeight: FontWeight.bold,
fontSize: 18,
),
material: false,
),
loadingDialogConfig: (context) =>
LoadingDialogConfig(
loader: Center(
child: Container(
width: 120,
height: 120,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(25),
),
child: const Center(
child: CircularProgressIndicator(),
),
),
),
material: false,
),
snackBarConfig: (context) =>
const SnackBarConfig(
messageStyle: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
errorSnackBarConfig: (context) =>
SnackBarConfig(
background: Colors.red.withOpacity(0.1),
messageStyle: const TextStyle(
color: Colors.red,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
warningSnackBarConfig: (context) =>
SnackBarConfig(
background: Colors.orange.withOpacity(0.1),
messageStyle: const TextStyle(
color: Colors.orange,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
);
}
Example:
import 'package:flutter/material.dart';
import 'package:flutter_androssy_dialogs/dialogs.dart';
void main() {
Dialogs.init(
alertDialogConfig: (context) =>
const AlertDialogConfig(
positiveButtonTextStyle: TextStyle(
color: Colors.orange,
fontWeight: FontWeight.bold,
fontSize: 18,
),
material: false,
),
messageDialogConfig: (context) =>
const MessageDialogConfig(
buttonTextStyle: TextStyle(
color: Colors.orange,
fontWeight: FontWeight.bold,
fontSize: 18,
),
material: false,
),
loadingDialogConfig: (context) =>
LoadingDialogConfig(
loader: Center(
child: Container(
width: 120,
height: 120,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(25),
),
child: const Center(
child: CircularProgressIndicator(),
),
),
),
material: false,
),
snackBarConfig: (context) =>
const SnackBarConfig(
messageStyle: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
errorSnackBarConfig: (context) =>
SnackBarConfig(
background: Colors.red.withOpacity(0.1),
messageStyle: const TextStyle(
color: Colors.red,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
warningSnackBarConfig: (context) =>
SnackBarConfig(
background: Colors.orange.withOpacity(0.1),
messageStyle: const TextStyle(
color: Colors.orange,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
alignment: Alignment.center,
padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 50),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(
onPressed: () {
context.showAlert(
title: "This is a title!",
message: "This is a alert message",
);
},
child: const Text("Show Alert Dialog"),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () {
context.showEditor(
hint: "Write something...",
title: "This is a title!",
);
},
child: const Text("Show Editable Dialog"),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () {
context.showLoader();
},
child: const Text("Show Loading Dialog"),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () {
context.showMessage("This is a message", title: "Successful!");
},
child: const Text("Show Message Dialog"),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () {
context.showSnackBar("This is a snack bar message!");
},
child: const Text("Show Snack Bar"),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () {
context.showErrorSnackBar("This is a error snack bar message!");
},
child: const Text("Show Error Snack Bar"),
),
const SizedBox(height: 24),
ElevatedButton(
onPressed: () {
context.showWarningSnackBar(
"This is a warning snack bar message!");
},
child: const Text("Show Warning Snack Bar"),
),
],
),
),
);
}
}