首先, 请确保你的布局文件中的根布局节点使用了 android:fitsSystemWindows="true" 属性。这将使布局能够调整自己的尺寸以适应底部导航栏。
如果你的布局仍然出现问题, 你可以尝试在代码中使用以下方法来更新布局:
View rootView = findViewById(R.id.root_view);
rootView.requestLayout();
这应该使布局重新计算并适应底部导航栏的高度。
另外, 你也可以尝试使用自定义的 BottomSheetBehavior 来替代系统提供的 BottomNavigationView。这样你就可以更精细地控制底部导航栏的行为, 例如设置peekHeight属性来限制它最多只能展开到多少高度。
希望这些建议能帮到你。