首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Flutter中单击另一个扩展磁贴后折叠已打开的扩展磁贴?

在Flutter中,可以使用ExpansionTile组件来创建可折叠的扩展磁贴。ExpansionTile是一个带有标题和内容的可展开的列表项,当用户点击标题时,内容部分会展开或折叠。

要实现在单击另一个扩展磁贴后折叠已打开的扩展磁贴,可以通过管理每个扩展磁贴的展开状态来实现。可以使用一个变量来记录当前展开的扩展磁贴的索引,初始值为-1表示没有任何扩展磁贴被展开。

以下是一个示例代码:

代码语言:txt
复制
import 'package:flutter/material.dart';

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _expandedTileIndex = -1;

  void _handleTileTap(int index) {
    setState(() {
      if (_expandedTileIndex == index) {
        _expandedTileIndex = -1; // 当前扩展磁贴已经展开,再次点击则折叠
      } else {
        _expandedTileIndex = index; // 展开新的扩展磁贴
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('可折叠的扩展磁贴'),
      ),
      body: ListView.builder(
        itemCount: 5, // 假设有5个扩展磁贴
        itemBuilder: (context, index) {
          return ExpansionTile(
            title: Text('磁贴 $index'),
            children: <Widget>[
              ListTile(
                title: Text('内容 $index'),
              ),
            ],
            onExpansionChanged: (expanded) {
              _handleTileTap(index);
            },
            initiallyExpanded: _expandedTileIndex == index,
          );
        },
      ),
    );
  }
}

void main() {
  runApp(MaterialApp(
    home: MyHomePage(),
  ));
}

在上述代码中,我们使用ListView.builder创建了一个包含5个扩展磁贴的列表。每个扩展磁贴都有一个标题和一个内容部分。通过设置onExpansionChanged回调函数,可以在扩展磁贴展开或折叠时触发相应的操作。在_handleTileTap函数中,我们根据当前展开的扩展磁贴的索引来判断是否需要折叠已打开的扩展磁贴。

这样,当用户单击一个扩展磁贴时,如果该扩展磁贴已经展开,则会被折叠起来;如果该扩展磁贴未展开,则会展开,并折叠其他已展开的扩展磁贴。

关于Flutter的更多信息和学习资源,可以参考腾讯云的Flutter开发文档:Flutter开发文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

我是如何在Fiori上添加UI应用

SAP Fiori launchpad是移动或桌面设备上Fiori应用切入点。Lunchpad会显示各种功能性。每个表示用户可以启动业务应用程序。...启动板是基于角色,根据用户角色显示切片。 今天聊一下,如何使自定义UI在SAP Fiori启动板显示为应用程序,使用自定义UI应用程序扩展业务目录。...如下图所示: image.png 有了这个扩展应用程序,就方便了我们后面的步骤中使用。...image.png 点击Publish,你会看到应用状态是发布状态,如下图所示: image.png 打开UI应用 此时,我们点击Home,然后转到Fiori Launchpad,随后,点击刷新或者...F5刷新页面,这时,我们会看到一个新,我们点击这个打开自定义UI应用。

1.9K40

Windows快捷键速查

Alt + Shift + 箭头键 当组或焦点放在“开始”菜单上时,可将其朝指定方向移动。...Ctrl + Shift + 箭头键 当焦点放在“开始”菜单上时,将其移到另一个即可创建一个文件夹。 Ctrl + 箭头键 打开“开始”菜单调整其大小。...任务栏 快捷键 说明 Shift + 单击任务栏按钮 打开应用或快速打开另一个应用实例。 Ctrl + Shift + 单击任务栏按钮 以管理员身份打开应用。...Num Lock + 星号 (*) 显示选定文件夹下所有子文件夹。 Num Lock + 加号 (+) 显示选定文件夹内容。 Num Lock + 减号 (-) 折叠选定文件夹。...向右键 显示当前选择内容(如果折叠),或选择第一个子文件夹。 向左键 折叠当前选择内容(如果展开),或选择该文件夹所在文件夹。 End 显示活动窗口底部。 Home 显示活动窗口顶部。

4.2K20
  • 我是如何在Fiori上添加UI应用

    1、微信:我是如何在Fiori上添加UI应用 2、知乎:我是如何在Fiori上添加UI应用 正文前序 我在之前文章推送里写了不少关于SAP Fiori文章,有关于技术也有浅谈理论发展文章,...有兴趣朋友可以阅读一下。...SAP Fiori launchpad是移动或桌面设备上Fiori应用切入点。Lunchpad会显示各种功能性。每个表示用户可以启动业务应用程序。...启动板是基于角色,根据用户角色显示切片。 今天聊一下,如何使自定义UI在SAP Fiori启动板显示为应用程序,使用自定义UI应用程序扩展业务目录。...自定义目录 首先,我们在SAP Fiori launchpad里找到自定义目录扩展应用程序,这个是SAP系统提供,以方便使用或者实施者方便进行应用扩展。如下图所示: ?

    94630

    Android 13 首个开发者预览版到来

    对于提供 自定义 应用,我们会让用户更容易发现您,并将它们添加到快捷设置。通过新 放置 API,您应用现在可以提示用户,直接将您自定义添加到快捷设置。...一个新系统对话框让用户无需离开您应用,只需单次点击即可添加,而无需前往快捷设置手动添加。...主题应用图标 - 在 Android 13 ,我们将 Material You 动态颜色扩展到 Google 应用之外所有应用图标,让用户可以基于其壁纸和其他主题偏好来选择图标色调。...我们还增加了新模块,蓝牙和超宽频模块,以进一步扩大 Android 可更新核心功能范围。...在手动安装预览版本,您将通过 OTA 方式自动获得后续预览版和 Beta 版更新。

    1K20

    Windows10键盘快捷方式

    向上键 将光标移动到上一段落起始处 Ctrl + Alt + Tab 使用箭头键在所有打开应用之间进行切换 Alt + Shift + 箭头键 当组或焦点放在“开始”菜单上时,可将其朝指定方向移动...Ctrl + Shift + 箭头键 当焦点放在“开始”菜单上时,将其移到另一个即可创建一个文件夹 Ctrl + 箭头键 打开“开始”菜单调整其大小 Ctrl + 箭头键(移至某个项目)+...Alt + 向左键 查看上一个文件夹 Backspace 查看上一个文件夹 向右键 显示当前选择内容(如果折叠),或选择第一个子文件夹 向左键 折叠当前所选内容(如果展开),或选择该文件夹所在文件夹...Windows 徽标键  + Ctrl + F4 关闭你正在使用虚拟桌面 任务栏键盘快捷方式 按键 操作 Shift + 单击任务栏按钮 打开应用或快速打开另一个应用实例 Ctrl + Shift...+ 单击任务栏按钮 以管理员身份打开应用 Shift + 右键单击任务栏按钮 显示应用窗口菜单 Shift + 右键单击分组任务栏按钮 显示组窗口菜单 Ctrl + 单击分组任务栏按钮 循环浏览组窗口

    4.5K20

    如何创建SAP UI5项目?

    框架, 拥有丰富界面控件、CSS页面展示模板、上百个工业图标,同时支持控件扩展。...SAP UI5架构由核心JavaScript框架组成,包括jQuery等,是由扩展库控件和主题组成,并且有可选服务器组件。...接下来就看一下今天要说内容具体操作步骤。 打开向导 我们可以使用SAP 提供向导进行创建,非常便捷,选择File - New - Project from Template,如下图所示: ?...选择SAP UI5 我们可以通过过滤条件,输入sapui5和Cloud Foundry,作为条件来筛选需要应用,这样可以查找到名为SAPUI5 Application,然后单击Next。...项目文件 我们单击文件夹图标,把目录展开,有一些关于SAP UI5架构内容,我在以前也推送过,可以查看公众号文章(公众号:SAP Technical),显示如下图所示: ?

    69620

    Windows 8.1 应用再出发 - 更新

    本篇和大家一起了解一下Windows 8.1 更新,我们来看看如何利用它做出更好应用。...如下图中IE和地图等属于小,阅读列表属于,资讯属于宽,天气属于大。需要注意是,小是不支持动态。 ? 看完了展现形式,我们来看看怎样在应用设置这四种呢?...(Windows 8.1 ,应用安装不会出现在“开始”屏幕,默认大小设置会在用户固定应用时生效) 我们可以指定哪几种显示应用名称,但是小是无法显示名称(另外小不支持动态...四种,70 * 70 小 和 150 * 150 是所有应用都支持。310 * 150 宽 和 310 * 310 大是可选择。 但有两点需要注意:1....如不支持宽,则默认大小不可选择为宽。2. 想支持大,则必须支持宽。 我们分别按照每种尺寸要求设置,然后来看看程序清单文件变化: <?

    85260

    Metro应用显示语言变为英文解决办法

    可能有朋友和reizhi一样,在使用Windows 8/8.1过程遇到了metro应用突然变为英文情况。虽然单词不多,但看起来终归有些生疏。...其实Windows 8/8.1自带应用均支持多语言环境,只需进行几步设置即可切换为中文显示。  1.打开:控制面板\时钟、语言和区域,选择区域,并切换到位置选项卡。...确保当前位置设置为中国; 2.切换到管理选项卡,确保非Unicode程序语言设置为中文; 3.打开:控制面板\时钟、语言和区域\语言,确保中文输入法位于第一位置; 4.对于新闻等应用...,还需要运行打开charm栏,点击设置,将语言改为中文中国。...经过以上步骤,即可将Windows内置metro应用语言从英文切换为中文。

    59110

    GEE 错误:导出到谷歌云盘中出现错误Error: Image to render must have 1 or 3 bands, but found 30. (Error code: 3)

    参数: image (图像): 要导出为图片。 description(字符串,可选): 任务可读名称。默认为 "myExportMapTask"。...默认为 "auto",这意味着不透明将编码为 "jpg",透明将编码为 "png"。 path(字符串,可选): 用作输出路径字符串。尾部"/"为可选项。默认为任务描述。...writePublicTiles(布尔,可选): 是否写入公共,而不是使用水桶默认对象 ACL。默认为 true,并要求调用者是水桶所有者。...maxZoom(数值,可选): 要导出地图最大缩放级别。 scale(数值,可选): 最大图像分辨率(单位:米/像素),可替代 "maxZoom"。...bucketCorsUris(List,可选): 允许从 JavaScript 获取导出域列表( https://code.earthengine.google.com)。

    16210

    Windows 10 新特性变化研究 - 腾讯ISUX

    二.开始菜单回归 Win10里开始菜单真正回归,并在菜单左边新增Win8开始屏幕显示功能。 ? 菜单演变过程: ? ? ? ?...变化分析: 从Win8~10变化,笔者大胆猜测微软不会放弃设计。毕竟移动是主流,PC市场在衰弱,而微软又想所有设备使用一个系统,设计无疑更适合在移动端上使用。...甚至可能等体验成熟后,开始菜单有可能会逐步退出用户视线(以后开始菜单=苹果home键?开始屏幕=iOS桌面?),大家也不妨对未来Windows菜单进行大胆猜想。...菜单全屏其实就是Win8 metro UI了,因此猜测是在培养用户对使用习惯? 六.窗口自适应 当对窗口进行拉伸缩放时,窗口内元素会跟随窗口变化进行自适应调整。 ?...(PS:最新通知中心变成侧栏打通,如下图) ? 八.强化全局搜索 任务栏上新增了搜索按钮,点击后会打开一个小搜索窗口。默认先搜索本机程序,然后再搜索互联网内容,也会给出相应搜索建议。

    3.2K20

    IDM互联网下载管理器

    打开“选项-常规”将监视剪切板下载地址 ,进行勾选。. ?...谷歌浏览器自动调用IDM 想要谷歌浏览器自动调用IDM就需要将IDM扩展程序集成到浏览器。这样我们在浏览器中点开下载链接时就会像迅雷一样自动被调用打开。...找到IDM安装文件内谷歌浏览器扩展程序安装文件:IDMGCExt.crx ? 将此crx文件直接拖拽到谷歌浏览器扩展程序管理界面进行安装。...image.png 注意事项:如果将扩展程序都安装好了,IDM依旧不会被调用,这时候我们需要将IDM下载工具使用管理员权限打开一次。...配合油候脚本下载百度网盘内容(包括BT链) 一、先说说我是如何间接使用IDM下载种子吧。先将你需要下载种子文件使用百度网盘进行离线下载,转存到百度网盘。 ?

    2K84

    shopify主题Pacific模板配置修改

    Shopify Pacific主题一个经受住了时间考验经典 Shopify 主题,与现有的OS 2.0兼容。使用经过验证灵活主题建立您业务,以帮助商店发展。...非常适合 五金与汽车、健康与美容、运动与休闲 Shopify Pacific主题特色 Mega导航 通过包含产品图片多列菜单、多层侧边栏菜单和站点范围促销,轻松发现产品。...可以随着您成长而成长 Pacific 可定制功能使其能够随着您业务增长而增长,并随着时间推移扩展产品目录。...网站范围促销 从 Shopify 后台中一个选项卡突出显示所有页面销售、折扣和特色产品。 多列菜单 在大型多列下拉菜单展示产品图片。...多层侧边栏菜单 在优雅侧边栏菜单显示产品,产品系列,社交媒体链接等。 定制模块 创建特殊主页部分,促销块,常见问题解答,博客文章等。

    1.6K20

    Wear 更新一览

    (Tiles) - 让用户可以快速访问他们最需要信息,以及提供符合预期操作互动。我们现在已经向开发者开放了功能,并且与几位早期合作伙伴进行合作,将添加到他们应用。...以下是一些即将推出应用: Tiles API 目前为 alpha 版本,支持 Wear OS 2 及以上设备,所以您可以为 Wear 生态系统所有设备创建。...将在平台版本更新出现在消费者手表,请阅读 这篇博文 了解详情。 任务切换和当前活动 - 新版本 Wear 使用户能够轻松地在应用之间切换。...只需极少代码,您就可以通过新 Ongoing Activities API,让用户在导航离开 (开启其他任务,音乐播放) 轻松返回您应用: 只需轻点表盘底部活动指示器图标,双击侧面按钮,或通过全局应用启动器...该平台会帮您管理硬件和传感器,能及时让硬件停止工作,以免电池耗尽,从而让您从亲自管理硬件泥沼摆脱出来。此健康服务平台 alpha 版本已经发布,请阅读 官方文档 了解详情。

    84720

    大白技术控 | Windows10X 模拟器简单上手体验

    开始菜单与圆角化 从 Windows8 时代开始,以为代表直角设计便充斥在 Windows 界面的各个角落。但是在 Windows10X ,界面全面转向了圆角,注意哈,我说是全面。...你可能会说,不就是变一个圆角吗,有什么稀奇? 有。 圆角本身只是一种设计,但它却会对UI造成直接影响,进而影响到系统功能。最直观后果就是陪伴了我们两个大版本被取消了。...圆角矩形堆叠时必然会产生一个个无法填充死角,多了就会形成一个个空洞,这是很难看。 当然,取消有视觉原因也有功能原因,只说视觉有些牵强。...原来都是放在开始菜单,理论上它可以显示很多信息,并有一些有趣动画效果。但在桌面系统,我们打开开始就意味着结束,占据面积大,又没有多少软件适配,理想很美好,现实很骨感,不如砍了吧。...所以当应用进行扩展,可以有更多交互操作与信息展示空间 再以 Microsoft Edge 为例,或许可以更为直观地看到双屏设备好处。

    1.6K20

    精读《贴布局 - 性能优化》

    贴布局碰撞判断涉及整个画布,因为一个组件移动可能引发另一个组件移动,形成一系列连环布局变化,比如下面这个情况: [---] [ ] [...因此碰撞时间复杂度是 O(n²),比如页面中有 100 个组件,就至少要遍历 10000 次才能完成一次布局计算,这样在比较极限情况下,比如页面有 1000 个组件时,布局计算肯定非常耗时。...除了碰撞判断外,拖拽过程还有两个场景需要计算组件间碰撞关系,主要包括 落点位置 与 落点组件排序 两个场景。...落点组件排序 落点位置决定,由于落点位置毕竟发生了变化,落点之后组件都要重新按照向上重力作用排序,所以此时组件查找范围是包含落点所在区域内,垂直向下所有区域: [---] │...总结 经过优化,贴布局在拖拽前、各个阶段计算复杂度均为 O(n),即一个拥有 500 个组件实例复杂画布,也只要在每次拖动时循环 500 次计算位置,而配合空间换时间一些 Map 映射关系配合

    78530

    科学瞎想系列之一五三 说说永磁同步电机里那些角

    在三角学,“角”又是三角函数自变量。任意一个三角函数,:f(θ)=sinθ自变量θ也被称作是一种“角”,即“相位角”或简称为“相角”。...将永磁链矢量ψf放在复平面即得到如图3所示永磁链矢量图,图3a)为表式永磁转子;图3b)为内嵌式永磁转子。 ​...经过上述等效处理,将定子电流矢量iₛ(电枢磁势矢量fₛ)、转子永磁链矢量ψf同时放在复平面,即得到如图4所示永磁同步电机等效物理模型,图4直观反映了三相定子绕组电磁等效处理过程以及定子电流矢量...4.3 永磁同步电机矢量方程及时空相矢图 4.3.1 表式 对于表式永磁同步电机,认为气隙圆周各处导均相等,电枢反应磁势在气隙任意位置产生磁场(链)大小均相等。...对于永磁同步电动机,反电势E₀总是超前永磁链ψf 90ᵒ,因此γ就与β存在固定关系,即γ=β-90ᵒ,只要给定γ和β任意一个角度,就可以得知另一个

    94120

    科学瞎想系列之一五三 说说永磁同步电机里那些角

    在三角学,“角”又是三角函数自变量。任意一个三角函数,:f(θ)=sinθ自变量θ也被称作是一种“角”,即“相位角”或简称为“相角”。...将永磁链矢量ψf放在复平面即得到如图3所示永磁链矢量图,图3a)为表式永磁转子;图3b)为内嵌式永磁转子。 ​...经过上述等效处理,将定子电流矢量iₛ(电枢磁势矢量fₛ)、转子永磁链矢量ψf同时放在复平面,即得到如图4所示永磁同步电机等效物理模型,图4直观反映了三相定子绕组电磁等效处理过程以及定子电流矢量...4.3 永磁同步电机矢量方程及时空相矢图 4.3.1 表式 对于表式永磁同步电机,认为气隙圆周各处导均相等,电枢反应磁势在气隙任意位置产生磁场(链)大小均相等。...对于永磁同步电动机,反电势E₀总是超前永磁链ψf 90ᵒ,因此γ就与β存在固定关系,即γ=β-90ᵒ,只要给定γ和β任意一个角度,就可以得知另一个

    2.2K33

    列表视图(ListView和ListActivity)

    History API实现无刷新跳转", "http://pic.cnitblog.com/face/306530/20140307103012.png", "本篇和大家一起了解一下Windows 8.1 更新...,我们来看看如何利用它做出更好应用。...首先我们从展现形式上来对比一下Windows 8 与 Windows 8.1 :Windows 8支持两种尺寸,正方形(150 * 150 像素)和长方形(310 * 150 像"...("揭秘uc浏览器一", "http://pic.cnitblog.com/face/440253/20140306132605.png", "首先,看一下项目完成,最终效果是这样:一.主界面二,...listView.setAdapter(simpleAdapter); 以上就是一般对于网络图片绑定ListView处理方式,好一点处理方式是定制扩展一个SimpleAdapter

    1.5K70

    科学瞎想系列之七十八 永磁电机(1)

    ,这就是你转换过程“损耗”。...前面的瞎想老师说过,所有的磁场都是由电流产生,我们可以用一个线圈,给它通电就会产生磁场,我们称这种励方式为电励,用电磁铁励电机是有励损耗,因为电流会在线圈里发热;也可以用一个天然“磁石...再用通俗例子打比方,就是银行“本钱”可以是股东们凑起来股份钱,这就是电磁铁,这些股东们要分红,所以是有“励损耗”;也可以是不知哪辈子老祖宗给我们留下一笔遗产,这就是永磁铁,因为老祖宗仙逝...2.5 永磁电机磁路结构千变万化,但总起来可以分为两大类,一类叫表式;一类叫内嵌式,如下图所示。其中(a)为表式,(b)(c)均属于内嵌式。 ?...2.7 永磁体一旦充好,其励磁势就是固定,这个励磁势就是永磁体矫顽力,把它装到电机上,就会产生一个固定空载气隙磁场,电机旋转时就会在电枢绕组中产生一个恒定空载反电势E0,无论电机在什么状态下运行

    1.4K41

    教你快速屏蔽Windows10系统内置广告!

    一、开始菜单 开始菜单广告是最明显最常见,主要表现在应用列表和动态。 ? 关于这两个地方广告我们首先可以通过,右键卸载方式、或者是关闭动态方式来屏蔽。...然后打开电脑【设置】界面—【个性化】—【开始】然后将【偶尔在“开始”屏幕显示建议】这个功能给关闭。 ?...四、小娜(Cortana) 小娜作为Windows10系统一款语音助理,还是非常好用,但他有时候也会提示一些无关紧要内容。...关闭方法:打开Cortana,点击”笔记本”—”管理技能”—”提示通知”然后将其关闭。 ? 五、软件拦截法 这里推荐使用火绒杀毒自带窗口拦截工具。...其他电脑安全工具基本上都有弹窗拦截功能,360,腾讯电脑管家等,拦截能力都挺不错

    2K10
    领券