Colors 按下将activeColor设置为列表的按钮,并将inactiveColor设置为其他BTN-颤振
我有一个芯片列表,当用户点击它们时,我想让它们改变颜色 例如,如果我点击第一个芯片,它的颜色会变成黑色,而其他芯片都是灰色的。然后,如果我点击第二个芯片,它的颜色变成黑色,第一个芯片的颜色变成灰色,依此类推 我找不到一个漂亮/简单的方法来做这件事,你有什么想法吗Colors 按下将activeColor设置为列表的按钮,并将inactiveColor设置为其他BTN-颤振,colors,flutter,onclick,android-chips,onpress,Colors,Flutter,Onclick,Android Chips,Onpress,我有一个芯片列表,当用户点击它们时,我想让它们改变颜色 例如,如果我点击第一个芯片,它的颜色会变成黑色,而其他芯片都是灰色的。然后,如果我点击第二个芯片,它的颜色变成黑色,第一个芯片的颜色变成灰色,依此类推 我找不到一个漂亮/简单的方法来做这件事,你有什么想法吗 非常感谢以下是您的方法: Widget _myChip(int number, String name) { return new Padding( padding: const EdgeInsets.all(8
非常感谢以下是您的方法:
Widget _myChip(int number, String name) {
return new Padding(
padding: const EdgeInsets.all(8.0),
child: new InkWell(
child: new Chip(
label: new Text(name,
style: new TextStyle(
color: selectedChip == number ? Colors.white : Colors.black
),),
backgroundColor:
selectedChip == number ? Colors.black : Colors.grey),
onTap: () {
setState(() {
selectedChip = number;
});
},
),
);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Stackoverflow'),
),
body: new Column(
children: <Widget>[
_myChip(1, 'Arnold'),
_myChip(2, 'Sylvester'),
_myChip(3, 'Priscilla'),
_myChip(4, 'Parge'),
_myChip(5, 'Something'),
],
),
);
}
Widget\u myChip(整数、字符串名){
返回新的填充(
填充:常数边集全部(8.0),
孩子:新墨水井(
孩子:新芯片(
标签:新文本(名称,
样式:新文本样式(
颜色:selectedChip==数字?颜色。白色:颜色。黑色
),),
背景颜色:
selectedChip==数字?颜色。黑色:颜色。灰色),
onTap:(){
设置状态(){
所选芯片=编号;
});
},
),
);
}
@凌驾
小部件构建(构建上下文){
归还新脚手架(
appBar:新的appBar(
标题:新文本(“Stackoverflow”),
),
正文:新栏目(
儿童:[
_myChip(1,“Arnold”),
_myChip(2,“西尔维斯特”),
_myChip(3,“Priscilla”),
_myChip(4,‘Parge’),
_myChip(5,“某物”),
],
),
);
}
您需要给芯片一个唯一的编号来识别,如果要更改芯片的颜色,请使用内联 以下是您的操作方法:
Widget _myChip(int number, String name) {
return new Padding(
padding: const EdgeInsets.all(8.0),
child: new InkWell(
child: new Chip(
label: new Text(name,
style: new TextStyle(
color: selectedChip == number ? Colors.white : Colors.black
),),
backgroundColor:
selectedChip == number ? Colors.black : Colors.grey),
onTap: () {
setState(() {
selectedChip = number;
});
},
),
);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Stackoverflow'),
),
body: new Column(
children: <Widget>[
_myChip(1, 'Arnold'),
_myChip(2, 'Sylvester'),
_myChip(3, 'Priscilla'),
_myChip(4, 'Parge'),
_myChip(5, 'Something'),
],
),
);
}
Widget\u myChip(整数、字符串名){
返回新的填充(
填充:常数边集全部(8.0),
孩子:新墨水井(
孩子:新芯片(
标签:新文本(名称,
样式:新文本样式(
颜色:selectedChip==数字?颜色。白色:颜色。黑色
),),
背景颜色:
selectedChip==数字?颜色。黑色:颜色。灰色),
onTap:(){
设置状态(){
所选芯片=编号;
});
},
),
);
}
@凌驾
小部件构建(构建上下文){
归还新脚手架(
appBar:新的appBar(
标题:新文本(“Stackoverflow”),
),
正文:新栏目(
儿童:[
_myChip(1,“Arnold”),
_myChip(2,“西尔维斯特”),
_myChip(3,“Priscilla”),
_myChip(4,‘Parge’),
_myChip(5,“某物”),
],
),
);
}
您需要给芯片一个唯一的编号来识别,如果要更改芯片的颜色,请使用内联