我有数组字符串,我想像这样在该字符串中放置图标,
var arr = ['lorem ipsum dolor select icon '+Icons(Icons.search)+' blablabla...'];
但是我出错了
The argument type 'Icons' can't be assigned to the parameter type 'String'
我该如何解决这个问题?谢谢
答案 0 :(得分:1)
您不能在Widgets
变量中使用String
,只能使用Row
小部件,如下所示:
Row(
children: [
Text('lorem ipsum dolor select icon '),
Icon(Icons.search),
Text(' blablabla...')
],
);
此处有更多信息:https://api.flutter.dev/flutter/widgets/Row-class.html
答案 1 :(得分:1)
使用RichText和TextSpan可以解决相同的问题
new RichText(
text: new TextSpan(children: [
TextSpan(text: 'Some random string', style: TextStyle(color: Colors.black)),
WidgetSpan(
child: new Icon(Icons.home, color: Colors.black45),
),
TextSpan(text: 'Some random string.', style: TextStyle(color: Colors.black)),
]),
)
希望获得帮助。
答案 2 :(得分:0)
尝试声明动态类型的列表
List<dynamic> myList = <dynamic>[Text('Hello'),Icon(Icons.add),Text('World')];
如果您希望在小部件 树中使用它。您可以使用行或列小部件来实现:
`Column(children: myList)` OR `Row(children: myList)`