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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让用户为他们要添加的内容选择图标?相关的知识,希望对你有一定的参考价值。

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

答案

颤动图标存储为静态类成员,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()),
        ),
    );
}

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

以上是关于如何让用户为他们要添加的内容选择图标?的主要内容,如果未能解决你的问题,请参考以下文章

自定义对话框片段

如何使用 onPressed 为选择的收藏图标选择单个颤振 ListTiles?

如何隐藏 Safari 中 input 标签的 autofill 图标

如何在 android studio 中包含应用内图标选择器?

以编程方式将图标添加到主屏幕

如何让用户选择他们的城镇,所以我的应用程序可以知道坐标