[英]how to change iconbutton colour immediately on pressed (flutter)
此代碼僅適用於一個圖標按鈕。 但是當我創建多個圖標按鈕時,情況就不同了。 使用三 (3) 個圖標按鈕,在按下任何 (1) 個圖標時,所有三 (3) 個圖標都會改變其顏色。 如何單獨更改顏色?
class _userProfileScreenState 擴展 State { 顏色 _iconcolor = Colors.black;
IconButton(
onPressed: () {
setState(() {
_iconcolor = Color(0xff187bcd);
},);
},
icon: Icon(
FontAwesomeIcons.mars,
color: _iconcolor, //male
size: 45,
),
),
你可以做這樣的事情
class SomeState extends State<StatefulWidget> {
Color _iconColor = Colors.white;
@override
Widget build(BuildContext) {
return ListTile(
leading: new IconButton(
icon: Icon(Icons.star, color: _iconColor),
onPressed: () {
setState(() {
_iconColor = Colors.yellow;
});
},
);
}
}
這很簡單,嘗試創建 3 個變量來保存 3 個按鈕的顏色值
class SomeState extends State<StatefulWidget> {
Color _iconColor1 = Colors.white;
Color _iconColor2 = Colors.black;
Color _iconColor3 = Colors.green
@override
Widget build(BuildContext) {
return Row(
children:[
IconButton(
icon: Icon(Icons.share, color: _iconColor1,),
onPressed: () {
setState((){
_iconColor1= //setNew Color
});
}
),
//enter 2 more icons like this and change color to different variable.
]
)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.