Dart 如何在单击图标按钮后将其更改为其他图标按钮

Dart 如何在单击图标按钮后将其更改为其他图标按钮,dart,flutter,Dart,Flutter,我想改变图标按钮上的图标,一旦你点击它,然后使我的滑块滑动。就这样 当您单击列表视图时-向上滑动 单击“地图-向下滑动” bool _pressAttention = true; IconButton( icon: (_pressAttention? Icon(Icons.view_list, color: Colors.grey): Icon(Icons.map, color: Colors.grey)), onPressed: (){ setStat

我想改变图标按钮上的图标,一旦你点击它,然后使我的滑块滑动。就这样 当您单击列表视图时-向上滑动 单击“地图-向下滑动”

bool _pressAttention = true;

IconButton(
     icon: (_pressAttention? Icon(Icons.view_list, color: Colors.grey): Icon(Icons.map, color: Colors.grey)), 
     onPressed: (){
         setState(() {
              if (_pressAttention=true){
                   _pc.open();

                  } else{
                     _pc.close();

                    } 
                    });
                  } 
                 )

您的if语句需要
==
而不是
=
,或者您可以将其缩短为
if(\u-pressAttention){
。而且您永远不会更改
\u-pressAttention
的值。首先确保在
小部件构建(BuildContext)之间放置
\u-pressAttention=true
{
返回
,否则每次重新加载时都将为真。然后将代码更改为:

setState(){
_pressAttention=\u pressAttention?false:true;
如果(请按注意){
_pc.open();
}否则{
_pc.close();
}
});
试试这个

 _pressAttention ?
    IconButton(
        icon:  Icon(Icons.view_list, color: Colors.grey) , onPressed: () => setState(() {  _pc.open();})) :
  IconButton(
      icon:  Icon(Icons.map, color: Colors.grey) , onPressed: () => setState(() {  _pc.close();}) );