BottomNavigationBar показывает предупреждение о переполнении при скрытии - PullRequest
0 голосов
/ 26 июня 2019

Я прячу свой bottomnavigationbar на свитке.Скрытие работает, как и ожидалось, но панель навигации считает, что это проблема, и показывает предупреждение о переполнении рендера.Как мне это исправить?

Я использую scopedModel для прослушивания boolean при прокрутке.mainModel - это мой scopedModel класс.
mainModel.getShowAppBar - это просто boolean, который я установил в классе scopedModel.

Текущее поведение приложения, которое демонстрирует проблему:

BottomNavigatorBar Overflow

и это моя реализация кода:

  List <BottomNavigationBarItem> _showIconsOrNot(){
     var iconList = [
     BottomNavigationBarItem(
        icon: new Container(
          child: new Icon(Icons.list)
        ),
       title: new Text("Forums"),
     ),
     BottomNavigationBarItem(
        icon: new Container(
           child: new Icon(Icons.home)
        ),
        title: new Text("Home"),
     ),
     BottomNavigationBarItem(
        icon: new Container(
          child: new Icon(Icons.person)
        ),
        title: new Text("Profile")
     ),
     BottomNavigationBarItem(
        icon: new Container(
          child: new Icon(Icons.notifications)
        ),
        title: new Text("Notifications")
    )
   ];

return iconList;
}



@override
Widget build(BuildContext context) {
  return new ScopedModel<MainModel>(
    model: mainModel,
    child: new Scaffold(
      body: new ScopedModelDescendant<AppModel>(
          builder: (context, child, model){
            return SomeListView(model);
          }
      ),
      bottomNavigationBar:
      new ScopedModelDescendant<AppModel>(
          builder: (context, child, model){
            return AnimatedContainer(
                curve: Curves.bounceOut,
                duration: Duration(milliseconds: 800),
                height: mainModel.getShowAppBar ? 60.0 : 0.0,
                child: BottomNavigationBar(
                  type: BottomNavigationBarType.fixed,
                  currentIndex: currentIndex,
                  iconSize: mainModel.getShowAppBar ? 24.0 : 0.0,
                  selectedItemColor: Colors.black,
                  unselectedItemColor: Colors.grey,
                  items: _showIconsOrNot
              )
            );
          }
      )
  )
);

}

Я ожидаю исчезновения предупреждения о переполнении.Скрытие анимации работает безупречно, как и ожидалось.

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