DialogFragment按状态栏重叠

Mat*_*urn 7 android android-layout android-dialogfragment

我有点困惑.

首先,当我创建一个工具栏并且它被状态栏重叠时,我只是添加fitSysmtemWindow="true"了父XML,它工作得很好.

但是当我创建FullScreen时DialogFragment,它也会被状态栏重叠.我试图添加fitSystemWindow="true"它不起作用.

仅出现在Android 5.0+上.没有将状态栏设置为半透明的任何地方.

这是我的DialogFragment代码

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_create_bill_dialog,container, false);

    return view;
}

@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    Dialog dialog = super.onCreateDialog(savedInstanceState);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    return dialog;
}
Run Code Online (Sandbox Code Playgroud)

谢谢.为我糟糕的Eng工作.

小智 0

这可能会有所帮助:

View decorView = getWindow().getDecorView();
Run Code Online (Sandbox Code Playgroud)

// 隐藏状态栏。

int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;

decorView.setSystemUiVisibility(uiOptions);
Run Code Online (Sandbox Code Playgroud)

// 请记住,如果状态栏被隐藏,则永远不应该显示操作栏,因此如果需要也将其隐藏。

ActionBar actionBar = getActionBar();

actionBar.hide();
Run Code Online (Sandbox Code Playgroud)

上述代码禁用 4.1 及更高版本设备的状态栏

  • 谢谢,但无论如何要解决这个问题而不隐藏状态栏。 (2认同)