(颤振)用于字符串列表的自定义生成器

时间:2019-06-27 14:24:16

标签: flutter dart

我有一个List类型的Strings。此列表中可以包含任意数量的项目。

让我们说这是我的清单:

[Dwayne Johnson, Akshay Kumar, Will Smith, Matt Damon, Salman, Someone Else]

我尝试过:

Text(NamesList.toString());

但是它只是按原样显示列表。

我想这样显示列表:

enter image description here

根据它们的长度,可以显示1,2甚至3个项目。

即使使用ListView.builderGridView.builder,我的项目也不尽相同,因此对我不起作用。

我在这里应该做什么?

1 个答案:

答案 0 :(得分:1)

有一个快速的解决方法:

List<String> famous = ["Dwayne Johnson", "Akshay Kumar", "Will Smith", "Matt Damon", "Salman", "Someone Else"];

Widget stringWithBullet() {
    String people = "";
    for (var item in famous) {
      people += item += " • ";
    }
    return Text(
      people.substring(0, people.length - 3),
      style: TextStyle(
        fontSize: 18,
      ),
    );
}

@override
Widget build(BuildContext context) {
  return Material(
    child: Center(
      child: Padding(
        padding: const EdgeInsets.all(40),
        child: stringWithBullet(),
      ),
    ),
  );
}

看起来像这样,您可以添加textAlign: TextAlign.center来使文本居中:

String with Bullets

每次使用名字+姓氏来确保换行时,都可以使用"\n"来换行。