我有一个 List
,它是 Strings
类型。此列表中可以包含任意数量的项目。
假设这是我的 list :
[Dwayne Johnson, Akshay Kumar, Will Smith, Matt Damon, Salman, Someone Else]
我试过这个:
Text(NamesList.toString());
但它只是按原样显示列表。
我想这样显示列表:
根据项目的长度,可以显示 1、2 甚至 3 个项目。
我虽然使用了 ListView.builder
或 GridView.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
使文本居中:
您可以尝试使用 "\n"
在每次您有 name + last name 时换行,以确保它换行。
关于flutter - (Flutter) 字符串列表的自定义生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56793194/