我想更改一下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();
}
});
}
)
答案 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();}) );