在flutter中显示图标列表

问题描述 投票:0回答:1

我刚刚开始使用 flutter,我正在尝试显示图标列表,以便用户可以在我之前选择的一些图标中进行选择。

我知道如何显示下拉菜单项,但我正在寻找二维的东西,因为用户将能够选择很多图标。无需单击按钮即可呈现此列表也很好。更像是一个可滚动的框,显示图标并能够存储用户选择的图标。我不需要确切的代码,我会对一些伪代码以及我需要使用哪些小部件感到满意。

非常感谢。

flutter flutter-animation
1个回答
0
投票

我的快速解决方案有一个脚手架(您可以将其更改为任何其他小部件),其中主体是 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
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.