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

时间:2019-05-08 11:17:37

标签: dart flutter

我想更改一下IconButton上的图标,然后单击它,然后使我的滑块向上滑动。像这样 当您单击列表视图时-向上滑动 当您单击地图时会向下滑动

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();

                    } 
                    });
                  } 
                 )

2 个答案:

答案 0 :(得分:0)

您的if语句需要==而不是=,也可以将其缩短为if (_pressAttention) {。另外,您永远不会更改_pressAttention的值。首先,请确保将_pressAttention = true放在Widget build(BuildContext context) {return之间,否则在每次重新加载时都是如此。然后将代码更改为此:

setState(() {
  _pressAttention = _pressAttention ? false : true;

  if (_pressAttention) {
    _pc.open();
  } else {
    _pc.close();
  }
});

答案 1 :(得分:0)

尝试一下

 _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();}) );