问题描述
代码说明:我检查是否有指向 youtube 的链接,然后显示 youtube 的图标,否则不显示任何内容。
问题:但是在我下面的代码中,我添加了一个空的 container(),但是这个容器占据了我的行内。
localtime
在没有链接的情况下,如何不显示任何小部件而不占用空间? 谢谢
解决方法
如果我的问题是正确的,您可以简单地将 if 放入列表 (collection if
),而不是使用三元运算符来显示空容器的链接:
基本上,你的代码会变成这样:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,children: [
Container(
child: Row(
children: [
Text("Social Media : "),],),if(_youtubelink != null)
GestureDetector(
child: Icon(
FontAwesome5.youtube,color: red,onTap: () {
_launchURL(_youtubelink);
},if(_istagramlink != null)
GestureDetector(
child: Icon(
FontAwesome5.instagram,onTap: () {
_launchURL(_istagramlink);
},if(_facebooklink != null)
GestureDetector(
child:
Icon(FontAwesome5.facebook,color: blue),onTap: () {
_launchURL(_facebooklink);
},if(_twitterlink != null)
GestureDetector(
child: Icon(FontAwesome5.twitter,color: lightyellow),onTap: () {
_launchURL(_twitterlink);
},Container(),// to let a space between edge and icons
],)
您可以在 https://dart.dev/guides/language/language-tour#lists 中了解更多相关信息。