我的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的平板电脑,它不太明显,但第二个按钮在导航栏下方):>
如何在导航栏上方添加BottomSheetDialog?
答案 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);