Нижняя панель приложений увеличивается при использовании программной клавиатуры

#java #android #android-bottomappbar

#java #Android #android-нижняя панель приложений

Вопрос:

Я пытаюсь скрыть нижнюю панель приложений за клавиатурой, но когда я меняю фокус на другой EditText, часть нижней панели приложений начинает выглядеть как на фото. Также я уже пробовал изменить windowSoftInputMode, но мне действительно нужна настройка.

     <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@ id/bottom_appbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_gravity="bottom"
        app:backgroundTint="@color/colorAccent"
        app:fabCradleMargin="@dimen/fab_margin"
        app:fabCradleRoundedCornerRadius="@dimen/fab_corner_radius"
        app:hideOnScroll="false"
        app:layout_scrollFlags="scroll|enterAlways"
        android:transitionName="bottom_appbar"
        style="@style/Widget.MaterialComponents.BottomAppBar" />

     <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@ id/bottom_fab"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        app:tint="@color/colorPrimary"
        android:tint="@color/colorPrimary"
        app:backgroundTint="@color/floatButtonColor"
        app:rippleColor="@color/colorAccent"
        app:layout_anchor="@id/bottom_appbar"/>
  

Ответ №1:

попробуйте добавить это в свой <activity> тег в манифесте

android:windowSoftInputMode="adjustPan|stateHidden"

Комментарии:

1. @Satyavrat Мне нужна настройка панели, потому что она должна быть сосредоточена на поле ввода (((

2. @VladislavYakubovsky затем установите это внизу, чтобы оно не было видно над клавиатурой, например, если вы используете относительную раскладку set align parent bottom = true

3. @Satyavrat, я использую CoordinatorLayout (потому что BottomAppBar должен иметь его в качестве родительского), и я использую layout_gravity=bottom, но это не помогает

4. но вы можете иметь относительный макет внутри CoordinatorLayout

5. @Satyavrat, нижняя панель приложений должна быть прямым дочерним элементом CoordinatorLayout