簡體   English   中英

如何在按下時立即更改圖標按鈕顏色(顫動)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM