如何在flutter中向警报对话框添加选项卡



我有一个名为dialogs.dart的独立类,它包含一个可重复使用的警报对话框。我希望这个警报对话框有选项卡,但如果可能的话,我不知道如何实现它。任何想法都将不胜感激。这是我的对话框代码。dart

import 'package:flutter/material.dart';
enum DialogAction{yes,abort}
class Dialogs{
static int selectedRadio;
static void setSelectedRadio(int val){
selectedRadio=val;
}
static Future<DialogAction> yesAbortDialog(
BuildContext context,
String title,
String body,
)async{
final action= await showDialog(
context: context,
barrierDismissible: false,
builder: (BuildContext context){
return AlertDialog(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
title: Text(title),
content: StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return Column(
mainAxisSize: MainAxisSize.min,
children: List<Widget>.generate(3, (int index) {
return Radio<int>(
value: index,
groupValue: selectedRadio,
onChanged: (int value) {
setState(() => selectedRadio = value);
},
);
}),
);
},
),
actions: <Widget>[
FlatButton(
onPressed: ()=>Navigator.of(context).pop(DialogAction.abort),
child: const Text('cancel'),
),
RaisedButton(
onPressed: ()=>Navigator.of(context).pop(DialogAction.yes),
child: const Text('Proceed', style: TextStyle(color: Colors.white),),
color: Colors.green,
),
],
);
}
);
return(action!=null)?action: DialogAction.abort;
}
}

不要将"AlertDialog"用于此目的。使用"Dialog"类。在里面,你可以按照自己喜欢的方式配置自己的孩子。将标签和事件与之联系起来。请参阅-https://api.flutter.dev/flutter/material/Dialog-class.html您可以使用带边距的"容器"来获得屏障效果。

相关内容

  • 没有找到相关文章

最新更新