我正在努力使警报对话框在 Flutter 中可滚动。我已经尝试了几种方法,到目前为止,这是最有效的一种:
Widget _buildPopupDialog(BuildContext context) {
List<IconData> _iconsTable = [
Icons.build,
Icons.format_paint,
Icons.assignment,
Icons.group_work,
Icons.home,
Icons.feedback,
...
];
return new AlertDialog(
title: const Text('Popup example'),
content: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Column(
children: new List.generate(26, (int index) {
return new Positioned(
child: new TableButtons(
iconData: _iconsTable[index]),
);
}),
),
],
),
),
],
),
目前,图标正在显示,但没有滚动。我收到的错误消息是:“A RenderFlex 在底部溢出了 170 像素。” 我想我必须使用 ListView 但我不确定在哪里添加它,因为它会导致错误。任何帮助,将不胜感激!