coder_littlewhite 2023-05-21 19:47 采纳率: 16.7%
浏览 12

Flutter切换组件

求问 Flutter 项目怎么样能实现组建的切换,比如说

img


点击预算时,下面展示预算模块,点击余额时显示余额模块,有没有好的办法啊 现在用的是ToggleButtons组件,请问用这个能实现吗

  • 写回答

1条回答 默认 最新

  • 北海屿鹿 2023-05-25 11:48
    关注

    使用ToggleButtons组件也可以实现组件的切换,您可以在ToggleButtons组件中设置不同的标签,并在点击标签时切换对应的组件的显示和隐藏。

    
    List<bool> _selections = [true, false]; // 初始状态下显示第一个组件
    
    ToggleButtons(
      children: [
        Text('预算'),
        Text('余额'),
      ],
      isSelected: _selections,
      onPressed: (int index) {
        setState(() {
          for (int i = 0; i < _selections.length; i++) {
            _selections[i] = (i == index);
          }
        });
      },
    ),
    
    // 在组件中根据_selections的值来显示或隐藏对应的子组件
    Visibility(
      visible: _selections[0],
      child: BudgetComponent(),
    ),
    Visibility(
      visible: _selections[1],
      child: BalanceComponent(),
    ),
    

    在上面的代码中,使用ToggleButtons组件实现标签的切换,使用Visibility组件来控制对应的子组件的显示和隐藏。当点击标签时,通过修改_selections的值切换对应的组件的显示和隐藏

    注意,使用ToggleButtons组件时需要注意以下几点:

    • ToggleButtons组件需要一个bool类型的isSelected列表来表示各个标签的选中状态。
    • 在onPressed回调中,需要更新isSelected列表的值,以便切换对应的组件的显示和隐藏。
    • 在组件中根据isSelected列表的值来显示或隐藏对应的子组件。

    希望可以帮助到您

    评论

报告相同问题?

问题事件

  • 创建了问题 5月21日

悬赏问题

  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆