У меня есть такой код:
int _page = 0;
final List<Widget> _children = [
MainPage(),
MainPage(),
MainPage(),
MainPage(),
MainPage(),
];
...
bottomNavigationBar: Theme(
data: Theme.of(context).copyWith(
canvasColor: Color(0xFF3B3D58),
primaryColor: Colors.white,
textTheme: Theme.of(context).textTheme.copyWith(
caption: TextStyle(color: Colors.grey)
)
),
child: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
currentIndex: _page,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text('Home'),
),
BottomNavigationBarItem(
icon: Icon(Icons.add_circle),
title: Text('Add Place'),
),
BottomNavigationBarItem(
icon: Icon(Icons.near_me),
title: Text('Near Me'),
),
BottomNavigationBarItem(
icon: Icon(Icons.favorite),
title: Text('Favorite'),
),
BottomNavigationBarItem(
icon: Icon(Icons.more_horiz),
title: Text('More'),
),
],
onTap: onTabTapped,
),
),
С такими результатами:
Результат
Я хочу, чтобы каждое выбранное меню меняло цвет для каждого выбранного меню, а не для всего цветного фона навигационной панели. Как пример ниже:
Результат
Когда пользователь нажимает на меню «Рядом со мной», поле в меню меняет цвет. Но для поля фона / цвета в другом меню оно все еще черное. Аналогично, нажатие на другие меню изменит цвет на красный и не изменит цвет меню, которое не было нажато (по-прежнему черный)