Не понятно как это происходит именно в 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.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники