如何将颜色列表视图放入警报对话框中,并以前导颜色作为颜色
How to put a colour listview in an alertdialog, with the leading as the colour
你好,我的问题是关于构建一个好的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);
如果您使用对话调用。那么在它之后:
showDialog().then(colorValue){
//你的代码
};
如果您使用 Navigator 推送新页面:使用 .then 之后:
Navigator.push(
语境,
MaterialPageRoute(
构建器:(上下文)=> SecondScreen(颜色:颜色),
),
).then(colorValue){//你的代码}
你好,我的问题是关于构建一个好的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);
如果您使用对话调用。那么在它之后:
showDialog().then(colorValue){ //你的代码 };
如果您使用 Navigator 推送新页面:使用 .then 之后:
Navigator.push( 语境, MaterialPageRoute( 构建器:(上下文)=> SecondScreen(颜色:颜色), ), ).then(colorValue){//你的代码}