在顫振中,我正在嘗試創建一個 ExpansionPanelList 并且我想在擴展圖塊之間添加空間。誰能幫我這個
這是我使用的代碼:
@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: ExpansionPanelList.radio(
children: items
.map(
(e) => ExpansionPanelRadio(
canTapOnHeader: true,
value: e.header,
headerBuilder: (context, isExpanded) => ListTile(
title: Text(
e.header,
style: const TextStyle(fontSize: 20),
),
),
body: ListTile(
title:
Text(e.body, style: const TextStyle(fontSize: 20)),
)),
)
.toList(),
),
),
),
);
}
class Item {
final String header;
final String body;
Item({
required this.header,
required this.body,
});
}
uj5u.com熱心網友回復:
您可以ExpansionTile在內部使用ListView而不是ExpansionPanelList小部件。
完整示例:
main() {
runApp(const MaterialApp(home: MyApp()));
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
final List<Item> items = List.generate(
5, (index) => Item(header: 'header$index', body: 'body$index'));
return ListView.builder(
itemBuilder: (BuildContext context, int index) => Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: _buildTiles(items[index]),
),
itemCount: items.length,
);
}
Widget _buildTiles(Item item) {
return Card(
child: ExpansionTile(
key: ValueKey(item),
title: ListTile(
title: Text(
item.header,
style: const TextStyle(fontSize: 20),
),
),
children: [
ListTile(
title: Text(item.body, style: const TextStyle(fontSize: 20)),
)
],
),
);
}
}
class Item {
final String header;
final String body;
Item({
required this.header,
required this.body,
});
}
uj5u.com熱心網友回復:
(1) 將 ExpansionPanleRadio 包裹在 padding 中,并且只放置底部 padding。
(2) 檢查它是否具有margin 屬性。
uj5u.com熱心網友回復:
事實上,你不能。展開串列折疊時,不能設定間隔
ExpansionPanelRadio。里面的引數有限ExpansionPanelRadio,里面沒有margin引數。此外,你不能把你
ExpansionPanelRadio的包裹起來,Padding因為ExpansionPanelList.radio childrenmust beList<ExpansionPanelRadio>。所以,我不建議自定義它。這需要很多努力。
我推薦的是使用https://pub.dev/packages/accordion插件。它使您可以完全控制您的擴展串列,并且易于使用。
這是使用此插件時的樣子:
https://raw.githubusercontent.com/GotJimmy/accordion/master/assets/accordion_demo.gif
玩得開心TT
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/516534.html
標籤:安卓扑
