我有底部导航栏和抽屉。我希望在用户单击任何按钮导航图标时自动关闭抽屉。我不太确定该怎么做。
只要用户在抽屉内部单击以下按钮,便可以立即关闭抽屉
void _onSelectItem(int index) {
setState(() => _currentSelected= index);
Navigator.of(context).pop(); // close the drawer
}
但是抽屉永远粘在那里,直到我向后滑动。我还希望在用户单击底部导航栏时立即关闭抽屉。
void onTappedBar(int index){
index == 3
? _drawerKey.currentState.openDrawer()
: setState((){
_currentSelected = index;
});
}
这是我的底部导航栏
bottomNavigationBar: BottomNavigationBar(
backgroundColor: Colors.blueGrey[900],
type: BottomNavigationBarType.fixed,
onTap: onTappedBar,
currentIndex: _currentSelected,
showUnselectedLabels: true,
unselectedItemColor: Colors.white,
selectedItemColor: Color.fromRGBO(10, 135, 255, 1),
items: <BottomNavigationBarItem> [
BottomNavigationBarItem(icon: new Icon(Icons.home), title: new Text('Home')),
BottomNavigationBarItem(icon: new Icon(Icons.search), title: new Text('Explore')),
BottomNavigationBarItem(icon: new Icon(Icons.device_hub), title: new Text('Channels')),
BottomNavigationBarItem(icon: new Icon(Icons.dehaze), title: new Text('More')),
],
),
我正在学习Flutter,因此任何建议将不胜感激。谢谢
答案 0 :(得分:1)
将VALGRIND_STACK_DEREGISTER(context->uc_stack.ss_sp);
free(context->uc_stack.ss_sp);
free(context).
添加到您的底部导航栏支架中,然后在该方法中添加onTap: (int index) {}
。希望这可以帮助。