flutter开发实战-可扩展popup弹窗template模版样式
在Flutter中,创建一个可重用的popup弹窗模板可以使用StatelessWidget
来实现。以下是一个简单的popup弹窗模板示例:
import 'package:flutter/material.dart';
class CustomPopup extends StatelessWidget {
final String title;
final String content;
final String buttonText;
final VoidCallback onButtonPress;
const CustomPopup({
Key key,
this.title,
this.content,
this.buttonText,
this.onButtonPress,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Dialog(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Text(title ?? '', style: TextStyle(fontSize: 20)),
SizedBox(height: 10),
Text(content ?? '', style: TextStyle(fontSize: 16)),
SizedBox(height: 20),
FlatButton(
child: Text(buttonText ?? 'OK'),
onPressed: onButtonPress,
),
],
),
),
);
}
}
// 使用方法:
// showDialog(context: context, builder: (context) => CustomPopup(
// title: 'Title',
// content: 'Content of the popup.',
// buttonText: 'Close',
// onButtonPress: () => Navigator.of(context).pop(),
// ));
在这个例子中,CustomPopup
类是一个无状态的小部件,它接受标题、内容和按钮文本作为参数。onButtonPress
回调函数用于处理点击按钮时的逻辑。使用时,你可以通过调用showDialog
并传入builder: (context) => CustomPopup(...)
来展示弹窗。
评论已关闭