Не понятно как это происходит именно в BottomNavigationView. Хотелось бы узнать у более опытных. Язык программирования использую Java. А также как регулировать расстояние между иконками(кнопками) в BottomNavigationView.
Для того, чтоб заполнить ваш 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.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости