Android-BottomSheetDialog在软件NavigationBar下

时间:2019-11-21 17:53:55

标签: android android-layout navigationbar bottom-sheet

我的BottomSheetDialog和软件导航栏有问题。如果我创建BottomSheetDialog:

    BottomSheetDialog mBottomSheetDialog = new BottomSheetDialog(mContext);
    View sheetView = inflater.inflate(R.layout.bottom_sheet_sentence, (ViewGroup)view.getParent(), false);
    mBottomSheetDialog.setContentView(sheetView);
    mBottomSheetDialog.show();

然后在带有软件导航栏的设备上,该对话框显示在导航栏的下方/下方(在本示例中,这是一台装有Android 7.0的平板电脑,它不太明显,但第二个按钮在导航栏下方):

enter image description here

如何在导航栏上方添加BottomSheetDialog?

2 个答案:

答案 0 :(得分:0)

int theme = R.style.BottomSheetDialogTheme;

BottomSheetDialog mBottomSheetDialog = newBottomSheetDialog(上下文,主题);

将此代码添加到style.xml

 <style name="BottomSheetDialogTheme" parent="BaseBottomSheetDialog">
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

答案 1 :(得分:0)

我认为您的问题是您没有定义窗口系统UI标志。

请检查与此相关的question

我通常使用这种方法来防止软导航栏下的单个组件或视图组膨胀

MyActivity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);