ism*_*ail 2 row widget flutter
代码说明:我检查是否有指向 youtube 的链接,然后显示 youtube 的图标,否则不显示任何内容。
问题:但在下面的代码中,我添加了一个空容器(),但该容器占据了我的行内的位置。
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
child: Row(
children: [
Text("Social Media : "),
],
),
),
_youtubelink == null
? Container()
: GestureDetector(
child: Icon(
FontAwesome5.youtube,
color: red,
),
onTap: () {
_launchURL(_youtubelink);
},
),
_istagramlink == null
? Container()
: GestureDetector(
child: Icon(
FontAwesome5.instagram,
color: red,
),
onTap: () {
_launchURL(_istagramlink);
},
),
_facebooklink == null
? Container()
: GestureDetector(
child:
Icon(FontAwesome5.facebook, color: blue),
onTap: () {
_launchURL(_facebooklink);
},
),
_twitterlink == null
? Container()
: GestureDetector(
child: Icon(FontAwesome5.twitter,
color: lightyellow),
onTap: () {
_launchURL(_twitterlink);
},
),
Container(), // to let a space between edge and icons
],
)
Run Code Online (Sandbox Code Playgroud)
当没有链接时,如何显示不占用空间的小部件?谢谢
小智 5
collection if
如果我的问题正确,您可以简单地将 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,
color: red,
),
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
],
)
Run Code Online (Sandbox Code Playgroud)
您可以在https://dart.dev/guides/language/language-tour#lists中了解更多信息。
归档时间: |
|
查看次数: |
709 次 |
最近记录: |