У меня была такая же проблема, и я нашел лекарство. @ianhanniballake был прав, но это не окончательное решение. Проблема в значении 'layout_height' NavHostFragment. Вы должны пройти следующие 3 шага в activity_main. xml:
- Убедитесь или удалите
android:paddingTop="?attr/actionBarSize"
из root ConstraintLayout - Add
app:layout_constraintTop_toBottomOf="@id/nav_host_fragment"
до Изменение в
android:layout_height="match_parent"
до
android:layout_height="0dp"
android:layout_weight="1"
======================== ====
Небольшое исследование:
Давайте создадим проект 'Bottom Navigation Activity' с нуля.
Шаг 0.1:
добавить фон для root Activity_main. xml
android:background="@android:color/holo_green_light"
Шаг 0.2: изменить содержимое frag_home . xml на это:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_orange_dark">
<TextView
android:id="@+id/left_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="L_T"
android:background="#ffcccc"
android:layout_gravity="start|top"
android:textSize="120sp" />
<TextView
android:id="@+id/right_bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="R_B"
android:background="#ccffcc"
android:layout_gravity="end|bottom"
android:textSize="120sp" />
</FrameLayout>
Вы увидите:
Шаг 1: удалить android:paddingTop="?attr/actionBarSize"
:
Шаг 2: Добавить ограничение app:layout_constraintTop_toBottomOf="@id/nav_host_fragment"
для BottomNavigationView
Шаг 3 (окончательный) . измените высоту на 0dp и добавьте android:layout_weight="1"
для NavHostFragment
PS. Надеюсь, это поможет при других подобных проблемах