显示弹出菜单时如何保持全屏?

TOP*_*TOP 9 android fullscreen popupmenu statusbar navigationbar

我在平板电脑上运行我的应用程序,它有状态栏(在屏幕顶部)和导航栏(在屏幕底部)。我使用此代码制作Activity Full screen

 public void hideNavigationBar() {
    final View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(setSystemUiVisibility());

}

public static int setSystemUiVisibility() {
    return View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
}
Run Code Online (Sandbox Code Playgroud)

然后当我触摸 a 时Button,我想显示 a PopupMenu。问题是:PopupMenu显示时,出现状态栏和导航栏

我试图添加这一行:

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)

它适用于状态栏。但是在显示PopupMenu导航栏仍然出现

显示时如何保持全屏PopupMenu

编辑:这是我显示的代码PopupMenu

    ImageView btnOpen = (ImageView) findViewById(R.id.image_view_open);
    btnOpen.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            PopupMenu popupMenu = new PopupMenu(ActivityViewImage.this, v);
            getMenuInflater().inflate(R.menu.context_menu_image, popupMenu.getMenu());
            popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    //do something
                    return true;
                }
            });
            popupMenu.show();
        }
    });
Run Code Online (Sandbox Code Playgroud)

Dil*_*tel 0

顶部您可以尝试此代码希望这可以帮助您..

 @Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    }
}
Run Code Online (Sandbox Code Playgroud)