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(…)]代码>