dialogs.dart 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import 'package:flutter/material.dart';
  2. import 'final_widget.dart';
  3. enum O2DialogAction { positive, cancel }
  4. class O2Dialogs {
  5. static Future<O2DialogAction?> showConfirmDialog({
  6. required BuildContext context,
  7. required String message,
  8. String positiveBtnText = '确定',
  9. String cancelBtnText = '取消',
  10. }) {
  11. return showDialog<O2DialogAction>(
  12. context: context,
  13. builder: (context) {
  14. return AlertDialog(
  15. title: const Text('提示'),
  16. content: Text(message),
  17. actions: <Widget>[
  18. TextButton(
  19. style: TextButton.styleFrom(
  20. primary: O2UI.textHintColor,
  21. ),
  22. child: Text(cancelBtnText),
  23. onPressed: () {
  24. Navigator.pop(context, O2DialogAction.cancel);
  25. },
  26. ),
  27. TextButton(
  28. child: Text(positiveBtnText),
  29. onPressed: () {
  30. Navigator.pop(context, O2DialogAction.positive);
  31. },
  32. ),
  33. // FlatButton(
  34. // textColor: O2UI.textHintColor,
  35. // child: Text(cancelBtnText),
  36. // onPressed: () {
  37. // Navigator.pop(context, O2DialogAction.cancel);
  38. // },
  39. // ),
  40. // FlatButton(
  41. // child: Text(positiveBtnText),
  42. // onPressed: () {
  43. // Navigator.pop(context, O2DialogAction.positive);
  44. // },
  45. // ),
  46. ],
  47. );
  48. });
  49. }
  50. static Future<O2DialogAction?> showCustomDialog({
  51. required BuildContext context,
  52. required String title,
  53. required Widget content,
  54. String positiveBtnText = '确定',
  55. String cancelBtnText = '取消',
  56. }) {
  57. return showDialog<O2DialogAction>(
  58. context: context,
  59. builder: (context) {
  60. return AlertDialog(
  61. title: Text(title),
  62. content: content,
  63. actions: <Widget>[
  64. TextButton(
  65. style: TextButton.styleFrom(
  66. primary: O2UI.textHintColor,
  67. ),
  68. child: Text(cancelBtnText),
  69. onPressed: () {
  70. Navigator.pop(context, O2DialogAction.cancel);
  71. },
  72. ),
  73. TextButton(
  74. child: Text(positiveBtnText),
  75. onPressed: () {
  76. Navigator.pop(context, O2DialogAction.positive);
  77. },
  78. ),
  79. // FlatButton(
  80. // textColor: O2UI.textHintColor,
  81. // child: Text(cancelBtnText),
  82. // onPressed: () {
  83. // Navigator.pop(context, O2DialogAction.cancel);
  84. // },
  85. // ),
  86. // FlatButton(
  87. // child: Text(positiveBtnText),
  88. // onPressed: () {
  89. // Navigator.pop(context, O2DialogAction.positive);
  90. // },
  91. // ),
  92. ],
  93. );
  94. });
  95. }
  96. }