0

你好我的问题是关于建立一个好的alertdialog

我有一个 Listtile Listtile,其中leading是一种颜色,而title是颜色的名称。点击Listtile显示带有颜色选项的警报对话框。

这是我期望归档的。

在此处输入图像描述 在此处输入图像描述

我从一个页面找到了这个解决方案,但代码真的很难扩展。

我期望通过在颜色上使用地图并Listview在警报对话框中打印它们来归档这个结果。在此先感谢您的帮助

4

2 回答 2

1

这个问题不是如何将内容发送到另一个页面吗?

根据评论,您想用他们的名字传递颜色。所以它可以像这样传递到第二个屏幕。

第一页,

var colors = {};
colors['color_x'] = 'COLORX';
colors['color_y'] = 'COLORY';

Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => SecondScreen(colors: colors),
  ),
);

在第二页,

class SecondScreen extends StatelessWidget {
  final Map colors;

  SecondScreen({Key key, @required this.colors}) : super(key: key);
  ...
}
于 2021-02-02T21:49:57.513 回答
0
  • 创建枚举:enum ColorEnum {red, green, blue}

  • 第2页:Navigator.of(context).pop(ColorEnum.red);

  • 如果您使用 Dialog 调用 .then 之后:

    showDialog().then(colorValue){ //你的代码 };

  • 如果您使用 Navigator 推送新页面:使用 .then 之后:

    Navigator.push( context, MaterialPageRoute( builder: (context) => SecondScreen(colors: colors), ), ).then(colorValue){//yourcode}

于 2021-02-03T04:01:43.467 回答