gpt4 book ai didi

flutter - 我可以在 flutter 列/行/堆栈上加入静态和动态小部件吗?

转载 作者:行者123 更新时间:2023-12-02 19:50:26 25 4
gpt4 key购买 nike

假设我有这个:

child: new Column(
children: <Widget>[
Center(child: Text("This is my title"),),
]

有没有办法让我在静态居中文本之后将列表添加到此列?或者我必须添加使用此方法:

List<Widget> widgets();
widgets.add(Center(child: Text("This is my title"),));
for (var a=0;a<5;a++) {
widgets.add(Text("$a"));
}

然后像这样添加所有列表:

child: new Column(
children: widgets

最佳答案

这是一个小示例,您可以在其中设置一个居中的标题和一个数字列表。您可以在点击按钮时修改列表:

List<int> numbers = [1, 2, 3];

如果您希望标题与列表一起滚动:

ListView(
children: <Widget>[
RaisedButton(
child: Text("Add number"),
onPressed: () {
setState(() {
numbers.add(numbers.length + 1);
});
},
),
Center(
child: Text("This is my title"),
),
ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: numbers.length,
itemBuilder: (context, count) {
return Text('Number: ${numbers[count]}');
},
),
],
)

如果您希望固定标题并只滚动列表:

Column(
children: <Widget>[
RaisedButton(
child: Text("Add number"),
onPressed: () {
setState(() {
numbers.add(numbers.length + 1);
});
},
),
Center(
child: Text("This is my title"),
),
Expanded(
child: ListView.builder(
shrinkWrap: true,
itemCount: numbers.length,
itemBuilder: (context, count) {
return Text('Number: ${numbers[count]}');
},
),
),
],
)

这是另一个不使用 ListView.builder 的简单替代方法:

ListView(
children: <Widget>[
RaisedButton(
child: Text("Add number"),
onPressed: () {
setState(() {
numbers.add(numbers.length + 1);
});
},
),
Center(
child: Text("This is my title"),
),
Column(
children: getWidgets(),
),
],
)

List<Widget> getWidgets() {
return numbers.map((number) => Text('Number: $number')).toList();
}

关于flutter - 我可以在 flutter 列/行/堆栈上加入静态和动态小部件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58277516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com