如何在颤动的字符串上放置图标?

时间:2019-05-27 07:00:32

标签: flutter

我有数组字符串,我想像这样在该字符串中放置图标,

var arr = ['lorem ipsum dolor select icon '+Icons(Icons.search)+' blablabla...'];

但是我出错了

The argument type 'Icons' can't be assigned to the parameter type 'String'

我该如何解决这个问题?谢谢

3 个答案:

答案 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)`