Show alert dialog or modal action sheet adaptively according to platform.
Web Demo: https://mono0926.com/adaptive_dialog/
Convenient wrapper of showAlertDialog.
iOS | Android |
---|---|
n1 | n2 |
Convenient wrapper of showAlertDialog.
iOS | Android |
---|---|
n3 | n4 |
n5 | n6 |
Show Confirmation Dialog. For Cupertino, fallback to ActionSheet.
iOS | Android |
---|---|
n3 | n5 |
iOS | Android |
---|---|
n7 | n8 |
n9 | n10 |
n11 | n12 |
iOS | Android |
---|---|
n1 | n2 |
n3 | n4 |
Show text input dialog until answer is correct or cancelled. This is useful for preventing very destructive action is executed mistakenly.
iOS | Android |
---|---|
n5 | n6 |
This packages keeps usage and UI simple like iOS official alert dialog. Therefore, if you need more flexibility than this package provides, I recommend that you build your own directly using standard APIs to meet your requirements without using this package.
adaptive_dialog
uses Cupertino-style widgets internally on iOS, so GlobalCupertinoLocalizations.delegate
is required under certain conditions.
import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; class App extends StatelessWidget { const App({Key key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( //... localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, // This is required ], ); } }
This fixes the problem.
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart' hide Router; class App extends StatelessWidget { const App({Key key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( darkTheme: ThemeData( cupertinoOverrideTheme: const CupertinoThemeData( textTheme: CupertinoTextThemeData(), // This is required ), ), ); } }