/// 这对我有用,粘贴你的代码并查看结果
未来 _showDialog() async { return showDialog( context: context,
barrierDismissible: true,
builder: (BuildContext context) {
return Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Material(
color: Colors.transparent,
child: Container(
padding: EdgeInsets.fromLTRB(5, 10, 5, 10),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5),
),
alignment: Alignment.center,
width: MediaQuery.of(context).size.width,
margin: EdgeInsets.all(10),
/// paste your item body
child:body,
),
),
],
),
);
},
); }
showDialog(
context: context,
builder: (BuildContext context) {
return SimpleDialog(
insetPadding: EdgeInsets.symmetric(horizontal: 20),
contentPadding: EdgeInsets.all(20),
children:[
Container(
width: MediaQuery.of(context).size.width,
child: widget
)
]
);
},
);
return AlertDialog(
content: SizedBox(
width: MediaQuery.of(context).size.width,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
...等等
AlertDialog(
insetPadding: EdgeInsets.all(12), // Outside Padding
contentPadding: EdgeInsets.all(12), // Content Padding
....
使用 width: MediaQuery.of(context).size.width
来增加警告框的宽度
示例:
return AlertDialog(
title: Text("Select Birth Date"),
content: Container(
width: MediaQuery.of(context).size.width,
height: 300,
child: CupertinoDatePicker(
mode: CupertinoDatePickerMode.date,
initialDateTime: DateTime(1969, 1, 1),
onDateTimeChanged: (DateTime newDateTime) {
// Do something
},
),
),
actions: <Widget>[
FlatButton(
child: Text("Select"),
onPressed: () {
widget.onSelected(selectedDate);
Navigator.pop(context);
//.....
},
),
],
);
ListView.builder(
shrinkWrap : true...
...
};
..
),
它将改变宽度