Могу ли я изменить цвет поля меню на нижней панели навигации в Flutter? - PullRequest
0 голосов
/ 20 июня 2019

У меня есть такой код:

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,
            ),
          ),

С такими результатами: Результат

Я хочу, чтобы каждое выбранное меню меняло цвет для каждого выбранного меню, а не для всего цветного фона навигационной панели. Как пример ниже: Результат

Когда пользователь нажимает на меню «Рядом со мной», поле в меню меняет цвет. Но для поля фона / цвета в другом меню оно все еще черное. Аналогично, нажатие на другие меню изменит цвет на красный и не изменит цвет меню, которое не было нажато (по-прежнему черный)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...