Flutter对话框展示插件flutter_dialog_shower的使用
Flutter对话框展示插件flutter_dialog_shower的使用
1. Loading & Alerts & Actions
import 'package:flutter/material.dart';
import 'package:flutter_dialog_shower/flutter_dialog_shower.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Flutter DialogShower Demo')),
body: Center(child: MyDialog()),
),
);
}
}
class MyDialog extends StatefulWidget {
@override
_MyDialogState createState() => _MyDialogState();
}
class _MyDialogState extends State<MyDialog> with SingleTickerProviderStateMixin {
bool _isShowing = false;
void showLoadingDialog() {
setState(() {
_isShowing = true;
});
}
void hideLoadingDialog() {
setState(() {
_isShowing = false;
});
}
@override
Widget build(BuildContext context) {
if (_isShowing) {
return DialogShower(
barrierDismissible: true,
containerShadowColor: Colors.grey,
containerShadowBlurRadius: 50.0,
containerBorderRadius: 5.0,
show: () {
return CircularProgressIndicator();
},
);
} else {
return Container();
}
}
}
2. Various show & dismiss animation
更多关于Flutter对话框展示插件flutter_dialog_shower的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter对话框展示插件flutter_dialog_shower的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何使用Flutter对话框展示插件flutter_dialog_shower
的示例代码。这个插件允许你以多种方式展示对话框,包括简单的消息对话框、输入对话框等。
首先,你需要在你的pubspec.yaml
文件中添加这个插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_dialog_shower: ^x.y.z # 请替换为最新版本号
然后,运行flutter pub get
来安装依赖。
以下是一个完整的示例代码,展示了如何使用flutter_dialog_shower
插件来展示不同类型的对话框:
import 'package:flutter/material.dart';
import 'package:flutter_dialog_shower/flutter_dialog_shower.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Dialog Shower Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: () => showMessageDialog(context),
child: Text('Show Message Dialog'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () => showInputDialog(context),
child: Text('Show Input Dialog'),
),
],
),
),
),
);
}
void showMessageDialog(BuildContext context) {
DialogShower.showMessageDialog(
context: context,
title: 'Message',
description: 'This is a message dialog.',
positiveButton: DialogButton(
text: 'OK',
onPressed: () {
// Handle OK button press
},
),
);
}
void showInputDialog(BuildContext context) {
DialogShower.showInputDialog(
context: context,
title: 'Input',
hintText: 'Enter something',
positiveButton: DialogButton(
text: 'Submit',
onPressed: (String input) {
// Handle input and submit
print('User input: $input');
},
),
);
}
}
在这个示例中:
MyApp
类定义了一个简单的Flutter应用,包含一个应用栏和两个按钮。showMessageDialog
函数使用DialogShower.showMessageDialog
方法展示一个消息对话框。这个对话框有一个标题、一个描述和一个“OK”按钮。showInputDialog
函数使用DialogShower.showInputDialog
方法展示一个输入对话框。这个对话框有一个标题、一个提示文本和一个“Submit”按钮。当用户点击“Submit”按钮时,会打印出用户输入的内容。
请注意,DialogButton
类的onPressed
回调函数根据对话框类型可能接受不同的参数(例如,输入对话框的onPressed
回调函数接受一个String
类型的参数)。
你可以根据需要进一步自定义对话框的外观和行为。希望这个示例对你有所帮助!