如何为List Tile实现点击展开显示更多内容的功能
问题解答
Flutter 官方已内置符合该需求的现成组件:ExpansionTile,常规场景无需手动编写额外逻辑。
该组件默认基于 ListTile 实现,原生支持点击头部列表项后平滑展开下方自定义内容区,完全匹配你预期的交互效果。
- 基础用法示例:
ExpansionTile( leading: Icon(Icons.person), title: Text("张三"), subtitle: Text("高级产品经理"), // 自定义展开后展示的内容列表 children: [ ListTile(title: Text("邮箱:zhangsan@company.com")), ListTile(title: Text("联系电话:138xxxx0000")), ListTile(title: Text("所属部门:产品部")), ], // 可选配置:监听展开/收起状态 onExpansionChanged: (isExpanded) { // 按需添加自定义业务逻辑 }, // 还可配置trailing自定义图标、展开背景色、动画时长等参数适配UI需求 )
如果内置的ExpansionTile样式无法满足你的定制化需求,再考虑通过StatefulWidget结合高度动画手动封装即可。
内容的提问来源于stack exchange,提问作者dipansh
相关产品推荐
相关产品推荐

