我刚刚开始使用 flutter,我正在尝试显示图标列表,以便用户可以在我之前选择的一些图标中进行选择。
我知道如何显示下拉菜单项,但我正在寻找二维的东西,因为用户将能够选择很多图标。无需单击按钮即可呈现此列表也很好。更像是一个可滚动的框,显示图标并能够存储用户选择的图标。我不需要确切的代码,我会对一些伪代码以及我需要使用哪些小部件感到满意。
非常感谢。
我的快速解决方案有一个脚手架(您可以将其更改为任何其他小部件),其中主体是 ListView,ListView 的每个项目都是 ListTile,其中包含之前在小部件中定义的列表中的图标(selectedIcons) 。 不确定你所说的商店是什么意思,但是有一个 onTap 功能,可以让你使用所选的图标执行任何你需要的操作(我决定在这里打印它们)。
类似这样的:
class IconSelectionScreen extends StatelessWidget {
final List<IconData> selectedIcons = [
Icons.favorite,
Icons.star,
Icons.access_alarm,
Icons.accessibility,
// Add more icons as needed
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Select an Icon'),
),
body: ListView.builder(
itemCount: selectedIcons.length,
itemBuilder: (context, index) {
return ListTile(
leading: Icon(selectedIcons[index], size: 36.0),
title: Text(_iconName(selectedIcons[index])),
onTap: () {
// Handle icon selection here
print('Selected Icon: ${_iconName(selectedIcons[index])}');
},
);
},
),
);
}
String _iconName(IconData icon) {
return icon.toString().substring(12); // Remove the 'Icons.' prefix
}
}