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