我的布局需要windowSoftInputMode = AdjustRezise,以便我的按钮随键盘向上移动。但是我不希望我的BottomNagivationView受到此影响。
我该如何解决?

我的BottomNavigationView来自MainActivity.xml,它是:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/bottom_navigation"></FrameLayout>

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        app:menu="@menu/bottom_menu"/>


</RelativeLayout>


我的清单中有android:windowSoftInputMode =“ adjustPan”,但是当我使用以下代码打开片段时,我通过代码对其进行了调整:

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);


以下是一些图片,您可以理解我的意思:https://imgur.com/a/vjePxI6

所以我想知道的是如何设置BottomNavigationView在键盘打开时不执行任何操作,而我希望按钮受到以下影响:
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

最佳答案

就我而言,只需在清单文件中添加以下行即可解决问题。
android:windowSoftInputMode =“ adjustResize | adjustPan”

08-28 19:01