adaptive_dialog 2.2.1+1 adaptive_dialog: ^2.2.1+1 copied to clipboard
Show alert dialog or modal action sheet adaptively according to platform.
adaptive_dialog #
Show alert dialog or modal action sheet adaptively according to platform.
Web Demo: https://mono0926.com/adaptive_dialog/
showOkAlertDialog #
Convenient wrapper of showAlertDialog.
iOS | Android |
---|---|
showOkCancelAlertDialog #
Convenient wrapper of showAlertDialog.
iOS | Android |
---|---|
showConfirmationDialog #
Show Confirmation Dialog. For Cupertino, fallback to ActionSheet.
iOS | Android |
---|---|
showModalActionSheet #
iOS | Android |
---|---|
showTextInputDialog #
iOS | Android |
---|---|
showTextAnswerDialog #
Show text input dialog until answer is correct or cancelled. This is useful for preventing very destructive action is executed mistakenly.
iOS | Android |
---|---|
FAQ #
How can I customize it flexibly? #
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.
- https://github.com/mono0926/adaptive_dialog/issues/19#issuecomment-754476937
- https://github.com/mono0926/adaptive_dialog/issues/76#issuecomment-1120686982
- https://github.com/mono0926/adaptive_dialog/issues/108#issuecomment-1543068734
The getter modalBarrierDismissLabel
was called on null #
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
],
);
}
}
The input text color same with backgound when using CupertinoTextInputDialog #
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
),
),
);
}
}