Как изменить расстояние между элементами в `BottomNavigationBar ()` во флаттере? - PullRequest
0 голосов
/ 16 октября 2019

1. Что бы я хотел сделать

Пока что мой BottomNavigationBar выглядит нормально (и просто), но, учитывая, что в нем всего 2 предмета, я хотел бы сблизить их немного (и, может быть, справа), чтобы они были легче добраться. Как мне это сделать? Есть ли свойство, которое делает работу? Может быть, внутри темы BottomNavigationBar?

2. Фрагмент

Вот как это выглядит сейчас:

bottomNavigationBar: BottomNavigationBar(
  items: <BottomNavigationBarItem>[
    BottomNavigationBarItem(
      icon: Icon(Icons.account_circle),
      title: Text('Personal Data'),
    ),
    BottomNavigationBarItem(
      icon: Icon(Icons.payment),
      title: Text('Contracts'),
    ),
  ],
  currentIndex: _selectedIndex,
  selectedItemColor: Colors.orange,
  onTap: _onItemTapped,
),

1 Ответ

1 голос
/ 16 октября 2019

После проверки исходного кода BottomNavigationBar кажется, что это нелегко реализовать из-за этой строки:

Widget _createContainer(List<Widget> tiles) {
    return DefaultTextStyle.merge(
      overflow: TextOverflow.ellipsis,
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: tiles,
      ),
    );
  }

Это частная функция в классе. Это означает, что для изменения свойства mainAxisAlignment строки, содержащей плитки, вам нужно будет воссоздать весь класс.

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