如何让用户为他们要添加的内容选择图标?
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 图标