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

标签 android fullscreen statusbar navigationbar popupmenu

我在平板电脑上运行我的应用程序,它有状态栏(在屏幕顶部)和导航栏(在屏幕底部)。 我使用此代码制作 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;
}

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

我试图添加这一行:

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

它适用于状态栏。但是当显示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();
        }
    });

最佳答案

TOP 你可以尝试这段代码希望这可以帮助你..

 @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);
    }
}

关于android - 显示弹出菜单时如何保持全屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40924752/

相关文章:

java - 如何让 float 操作按钮消耗点击事件?

android - 如何在android中取消Asysnctask

python - 带有标题栏和 Windows 任务栏的 Tkinter 窗口

Java获取MAXIMIZED状态窗口大小

fonts - 有没有办法更改状态栏 Sublime Text 3 中的字体?

ios - 隐藏在滚动/滑动后,UINavigationBar 不会再次显示

android - 如何下载适用于安卓的谷歌源代码

android - 如何从mysql服务器拉取数据到android设备?

html - AngularJS:一个 index.html 中的注册和内容页面

Android 状态栏裁剪菜单