Можно ли создать раскрывающийся список, нажав одну из кнопок BottomNavigationBarItem?
Я хочу, чтобы список выбора отображался после нажатия на одну из кнопок BottomNavigationBarItem
Что-то вроде список, который появится при нажатии на последнюю кнопку навигации
Мой код:
build(context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
title: Row(
children: <Widget>[
Text(titlePage, style: Theme.of(context).textTheme.title)
],
),
),
backgroundColor: Colors.white,
body: ListUic<Pic>(
controller: _controller,
emptyProgressText: "",
emptyDataIcon: Icon(Icons.refresh, size: 72.0, color: Colors.lightBlue),
emptyErrorIcon: Icon(Icons.error, size: 72.0, color: Colors.redAccent),
itemBuilder: (pic) {
return Card(
[...]);
},
),
bottomNavigationBar: AnimatedContainer(
duration: Duration(milliseconds: 200),
height: _isVisible ? 56.0 : 0.0,
child: Wrap(
children: <Widget>[
BottomNavigationBar(
type: BottomNavigationBarType.fixed,
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(icon: Icon(Icons.home), title: Text('Main')),
BottomNavigationBarItem(icon: Icon(Icons.hourglass_empty), title: Text('Waiting')),
BottomNavigationBarItem(icon: Icon(Icons.grade), title: Text('Top')),
BottomNavigationBarItem(icon: Icon(Icons.account_circle), title: Text('Accont')),
],
currentIndex: selectedIndex,
fixedColor: Colors.pinkAccent,
onTap: onItemTapped,
),
],
),
),
);
}
void onItemTapped(int index) {
setState(() {
selectedIndex = index;
switch(index){
case 0:
mainPage = true;
setState(() {
_controller = ListUicController<Pic>(
onGetItems: (int page) => _getPics(page, 'main'),
);
});
break;
case 1:
titlePage = 'Poczekalnia';
mainPage = false;
setState(() {
_controller = ListUicController<Pic>(
onGetItems: (int page) => _getPics(page, 'waiting'),
);
});
break;
}
});
}