我有一行包含4 outlinedbutton,我有4个小部件(列表视图,ListWheelScrollView,图像png和svg图像)我想显示一个小部件只有当我按下一个outlinedbutton。我应该用什么在flutter中做这件事?提供一些代码将是有益的
Container(
padding: EdgeInsets.all(8.0),
height: 100,
child: Row(
children: [
Expanded(
child: OutlinedButton(
onPressed: () =>
//show widget1
)),
Expanded(
child: OutlinedButton(
onPressed: () =>
//show widget2
)),
Expanded(
child: OutlinedButton(
onPressed: () =>
//show widget3
)),
Expanded(
child: OutlinedButton(
onPressed: () =>
//show widget4
)),
],
),
)
3条答案
按热度按时间8oomwypt1#
创建枚举
用于更新值的全局变量。
小部件
}
设置枚举值以更新Widget可见性。
flseospp2#
你可以用不同的方法来做。一个简单的方法是为每个小部件创建4个布尔变量。在按下按钮时,特定小部件的值为真,其他3个值为假。在另一边,使用if(istiswidget)来显示小部件,如果值为真。一些代码演示
压缩小部件1
打开小部件2
对其他函数执行相同操作
在每个小部件之前设置UI条件
注意:使用setstate、provider或任何其他状态管理方法更新实时值和UI
cwxwcias3#
创建这个变量来标识要显示的小部件,它将获得从0到3的值
并在每个按钮的onPressed中添加此,不要忘记添加正确的num
并使用可见性来显示小部件