如何让用户为他们要添加的内容选择图标?

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

是否可以从Icon类加载所有图标并允许用户选择其中一个使用?例如,我希望用户在文本字段中输入文本,然后选择一个图标,然后将该文本和图标添加到某种列表中。我已经知道了文本部分,但我无法弄清楚如何加载所有图标并让用户选择一个。

flutter
1个回答
0
投票

颤动图标存储为静态类成员,reflect function需要get a list of members of a class。需要使用飞镖镜来反射功能和flutter doesn't allow using dart mirrors。因此,似乎不可能(或至少很容易)获得这些成员的列表。

here

我建议使用material_design_icons_flutter包和下面的代码。

@override
Widget build(BuildContext context) {
    List<String> iconListKeys = iconMap.iconMap.keys.toList();
    MdiIcons iconLib = new MdiIcons();
    List<IconData> iconList = iconListKeys
            .map<IconData>((String iconName) => iconLib[iconName])
            .toList();
    return Scaffold(
        appBar: AppBar(
            title: Text(widget.title),
        ),
        body: Center(
            child: ListView(
                    children: iconList.map<Widget>((icon) => Icon(icon)).toList()),
        ),
    );
}

请记住,提到的包装可能会过时或停产。因此,上述解决方案似乎不适合一般用途。

© www.soinside.com 2019 - 2024. All rights reserved.