flutter - (Flutter) 字符串列表的自定义生成器

标签 flutter dart

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

假设这是我的 list :

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

我试过这个:

Text(NamesList.toString());

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

我想这样显示列表:

enter image description here

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

我虽然使用了 ListView.builderGridView.builder,但这些项目的长度并不相同,所以它对我不起作用。

我应该在这里做什么?

最佳答案

有一个快速的绕行方法:

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" 在每次您有 name + last name 时换行,以确保它换行。

关于flutter - (Flutter) 字符串列表的自定义生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56793194/

相关文章:

flutter - 骰子卷动画 flutter

dart - 如何在 Flutter 中执行双指旋转手势?

Flutter Facebook 登录允许切换帐户

list - 如何为列表中的单个项目(而不是整个列表)编写 setter?

sqlite - 如何在我的 dart 代码 sqlite 中解决这个问题

android - java插件中的Flutter依赖

multithreading - 如何同时启动多个 Future 以填充单个 FutureBuilder ListView?

flutter - 如何对flutter中的西里尔字母列表进行排序

flutter - 如何在 flutter 中添加圆形评级图表?

google-closure - 谷歌 Dart 与谷歌关闭有什么关系?