Flutter 中的 ExpansionPanelList 小部件:全面指南
在Flutter中,ExpansionPanelList
是一个用于创建可折叠列表的小部件。它允许用户点击一个标题以折叠或展开其内容。
以下是一个简单的ExpansionPanelList
使用示例:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: ExpansionPanelList(
expansionCallback: (int index, bool isExpanded) {
print('Item $index: $isExpanded');
},
children: <ExpansionPanel>[
ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text('Item 1'),
);
},
body: ListTile(
title: Text('Item 1 details'),
leading: Icon(Icons.info),
),
),
ExpansionPanel(
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text('Item 2'),
);
},
body: ListTile(
title: Text('Item 2 details'),
leading: Icon(Icons.info),
),
),
// You can add more items here if needed
],
),
),
),
);
}
}
在这个例子中,我们创建了一个简单的可折叠列表,列表中有两个条目。每个条目都有一个标题和可折叠的详细内容。用户点击标题会展开或折叠详细内容。
ExpansionPanelList
的expansionCallback
属性是一个回调函数,它在用户点击标题时被调用,并且可以用来处理用户的点击事件。
ExpansionPanel
的headerBuilder
属性允许你自定义折叠面板的标题,而body
属性则定义了折叠面板的详细内容。
这个示例展示了如何使用ExpansionPanelList
和ExpansionPanel
来创建一个简单的可折叠列表界面。
评论已关闭