Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何将地图打印到小部件中?_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 如何将地图打印到小部件中?

Flutter 如何将地图打印到小部件中?,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我试图将地图打印到小部件中,但没有结果。另外,我想打印两个小部件socialmediabbles和SizedBox的循环,但条件是不使用SizedBox小部件打印最后一个 变数 final Map<String, String> socialMedia = { kWeb: 'http://candice-music.com', kYouTube: 'https://www.youtube.com/watch?v=WW7K3WWin_8', kInstagram: 'htt

我试图将地图打印到小部件中,但没有结果。另外,我想打印两个小部件
socialmediabbles
SizedBox
的循环,但条件是不使用
SizedBox
小部件打印最后一个

变数

final Map<String, String> socialMedia = {
  kWeb: 'http://candice-music.com',
  kYouTube: 'https://www.youtube.com/watch?v=WW7K3WWin_8',
  kInstagram: 'https://www.instagram.com/candicemusicoff/',
  kSpotify: 'https://open.spotify.com/artist/1rHf7vRCsDRBkbA1XGT9e1'
};
最终地图社交媒体={
kWeb:'http://candice-music.com',
kYouTube:'https://www.youtube.com/watch?v=WW7K3WWin_8',
亲属关系:'https://www.instagram.com/candicemusicoff/',
kSpotify:'https://open.spotify.com/artist/1rHf7vRCsDRBkbA1XGT9e1'
};
以及我所尝试的

socialMedia.isNotEmpty
  ? Row(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
          socialMedia.map(name, url) {
        SocialMediaBubbles(
          name: kWeb,
          url: socialMedia[kWeb],
        ),
        const SizedBox(width: 10.0)
        }
      ],
    )
  : SizedBox(height: 0.0),
socialMedia.isNotEmpty
? 划船(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
socialMedia.map(名称、url){
社交媒体(
姓名:kWeb,
网址:socialMedia[kWeb],
),
常量大小框(宽度:10.0)
}
],
)
:SizedBox(高度:0.0),
试试这个

class MyWidget extends StatelessWidget {
  final Map<String, String> socialMedia = {
    'kWeb': 'http://candice-music.com',
    'kYouTube': 'https://www.youtube.com/watch?v=WW7K3WWin_8',
    'kInstagram': 'https://www.instagram.com/candicemusicoff/',
    'kSpotify': 'https://open.spotify.com/artist/1rHf7vRCsDRBkbA1XGT9e1'
  };

  @override
  Widget build(BuildContext context) {
    return Row(
      mainAxisAlignment: MainAxisAlignment.center,
      children: _buildRow(),
    );
  }

  List<Widget> _buildRow() {
    List<Widget> widgets = [];
    socialMedia.forEach((k, v) {
      //Add a SocialMediaBubbles
      widgets.add(
        SocialMediaBubbles(
          name: k,
          url: v,
        ),
      );
      //Add a SizedBox
      widgets.add(SizedBox(width: 12.0));
    });

    return widgets;
  }
}
类MyWidget扩展了无状态Widget{
最终地图社交媒体={
“kWeb”:http://candice-music.com',
“kYouTube”:https://www.youtube.com/watch?v=WW7K3WWin_8',
“亲属关系”:https://www.instagram.com/candicemusicoff/',
“kSpotify”:https://open.spotify.com/artist/1rHf7vRCsDRBkbA1XGT9e1'
};
@凌驾
小部件构建(构建上下文){
返回行(
mainAxisAlignment:mainAxisAlignment.center,
子项:_buildRow(),
);
}
列表_buildRow(){
列表小部件=[];
社会媒体(k,v){
//添加一个社交媒体
widgets.add(
社交媒体(
姓名:k,,
网址:v,
),
);
//添加一个有大小的框
add(SizedBox(宽度:12.0));
});
返回窗口小部件;
}
}

工作正常!谢谢:)太棒了!请同时考虑一下答案。非常感谢。通过在列表iterable中使用for循环,可以删除
forEach
。例如,
final widgets=[for(socialMedia.entries中的var条目)socialmediabubles(…)]