У меня есть такое представление в моем приложении для Android
Есть mainActivity
, у которого есть bottomNavBar
, и есть фрагмент внутри активности, который имеет две кнопки внизу.
Что я должен сделать, так это то, что при появлении программной клавиатуры bottomNavBar
должен оставаться внизу (за клавиатурой), но эти две кнопки должны быть нажаты вверх и видны в верхней части клавиатуры.
Если я установлю android:windowSoftInputMode="adjustResize"
для mainActivity в файле manifest
, тогда клавиатура поднимет нижний NavBar и кнопки.
Если я установлю android:windowSoftInputMode="adjustResize"
только для фрагмента (программно), он все равно будет вести себя так же.
Как я могу это сделать? Любые предложения будут высоко оценены
Вот моя активность xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/mobile_navigation"
android:layout_weight="@integer/int_two"/>
<com.google.android.material.bottomnavigation.BottomNavigationView
app:itemIconTint="@drawable/bottom_navigation_selector"
app:itemTextColor="@drawable/bottom_navigation_selector"
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="@integer/int_zero"
android:background="?android:attr/windowBackground"
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
app:menu="@menu/bottom_nav_menu" />
</LinearLayout>
</layout>