你好我的问题是关于建立一个好的alertdialog
。
我有一个 Listtile Listtile
,其中leading
是一种颜色,而title
是颜色的名称。点击Listtile
显示带有颜色选项的警报对话框。
这是我期望归档的。
我从一个页面找到了这个解决方案,但代码真的很难扩展。
我期望通过在颜色上使用地图并Listview
在警报对话框中打印它们来归档这个结果。在此先感谢您的帮助
你好我的问题是关于建立一个好的alertdialog
。
我有一个 Listtile Listtile
,其中leading
是一种颜色,而title
是颜色的名称。点击Listtile
显示带有颜色选项的警报对话框。
这是我期望归档的。
我从一个页面找到了这个解决方案,但代码真的很难扩展。
我期望通过在颜色上使用地图并Listview
在警报对话框中打印它们来归档这个结果。在此先感谢您的帮助
这个问题不是如何将内容发送到另一个页面吗?
根据评论,您想用他们的名字传递颜色。所以它可以像这样传递到第二个屏幕。
第一页,
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);
...
}
创建枚举: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}