Как подключать кнопки в BottomNavigationView?

245
27 апреля 2018, 15:40

Не понятно как это происходит именно в BottomNavigationView. Хотелось бы узнать у более опытных. Язык программирования использую Java. А также как регулировать расстояние между иконками(кнопками) в BottomNavigationView.

Answer 1

Для того, чтоб заполнить ваш BottomNavigationView, для начала в макете укажите для BottomNavigationView откуда брать ресурсы с элементами меню при помощи атрибута app:menu:

<android.support.design.widget.BottomNavigationView
   android:id="@+id/bottom_navigation_view"
   ...
   app:menu="@menu/bottom_navigation_menu" />

Ваш bottom_navigation_menu.xml с описанным меню может выглядеть так:

<?xml version="1.0" encoding="utf-8"?>
<menu
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto">
   <item
      android:id="@+id/action_first"
      android:enabled="true"
      android:icon="@drawable/ic_first"
      android:title="@string/text_first"
      app:showAsAction="ifRoom" />
   <item
      android:id="@+id/action_second"
      android:enabled="true"
      android:icon="@drawable/ic_second"
      android:title="@string/text_second"
      app:showAsAction="ifRoom" />
   <item
      android:id="@+id/action_third"
      android:enabled="true"
      android:icon="@drawable/ic_third"
      android:title="@string/text_third"
      app:showAsAction="ifRoom" />
</menu>

Этого достаточно, чтоб наполнить BottomNavigationView кнопками. Обработка нажатий кнопок будет происходит следующим образом:

BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation_view);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
   @Override
   public boolean onNavigationItemSelected(@NonNull MenuItem item) {
      switch (item.getItemId()) {
         case R.id.action_first:
            break;
         case R.id.action_second:
            break;
         case R.id.action_third:
            break;   
      }
      return true;
   }
});

Расстояние между иконками контролирует сам BottomNavigationView. Когда количество элементов меню больше трёх, скрываются подписи всех элементов, кроме выбранного. Так же учтите, что максимальное возможное количество элементов равно 5.

READ ALSO
Сертификаты java от oracle

Сертификаты java от oracle

На сколько мне известно что большинства сертификатов не имеют никакого смыслаНо в то же время слышал что некий вес имеют сертификаты от oracle,...

256
Парсинг входящих параметров args в Java

Парсинг входящих параметров args в Java

Есть такая строка запуска:

213
Как подойти к изучению Spring?

Как подойти к изучению Spring?

Ничего не знаю про Spring, но стоит задача научиться ему за две неделиКак подойти правильно и эффективно к обучению? Книги? Статьи?

225