gpt4 book ai didi

flutter - 按钮文字颜色变化

转载 作者:IT王子 更新时间:2023-10-29 07:16:59 28 4
gpt4 key购买 nike

我正在构建一个简单的测验应用程序作为一个学习项目。我只想更改单击按钮的颜色。现在它改变了所有按钮的颜色。我试图制作一个颜色列表,这样每个按钮都可以从列表中获取它的颜色。

class _AnwserButtonsState extends State<AnwserButtons> {
Color color = Colors.black;

@override
Widget build(BuildContext context) {
return Container(
height: 200,
child: ListView(
children: widget.anwsers
.map(
(anwser) => RaisedButton(
child: Text(anwser, style: TextStyle(color: color)),
onPressed: () => onPressed(anwser),
),
)
.toList(),
),
);
}

onPressed(anwser) {
setState(
() {
if (anwser == widget.properAnwser) {
color = Colors.green;
} else {
color = Colors.red;
}
},
);
}
}

最佳答案

您需要一个 id 值。你可以在使用 ListView.builder 时使用索引。

ListView.builder(
itemCount: widget.anwsers.length,
itemBuilder: (BuildContext context, int index) {
return Column(
children: <Widget> [
RaisedButton(
child: Text(widget.anwsers[index], style: TextStyle(color: color)),
onPressed: () => onPressed(widget.anwsers[index], index),
),
)
onPressed(anwser, index) {
setState(
() {
if (anwser == widget.properAnwser[index]) {
color = Colors.green;
} else {
color = Colors.red;
}
},
);
}
}

这可以给你一个想法。但我的意见是创建一个有答案、正确答案、颜色和 id 的类。在这个例子中使用类会更容易和可读。

关于flutter - 按钮文字颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57079229/

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