I have an application which will show fullscreen without problem on Android 4-6. But once test on Android 7.0, although the navigation and status bar are hide, the navigation bar position seems still occupied by a white bar. My application cannot automatically resize to occupy that space.
mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
I use the above code to do the fullscreen. Please advise. Thanks.
Related
My app has an option to go into fullscreen mode. Users of device Samsung Galaxy S7 Edge report to me that the navigation soft buttons are displayed in this case and do never vanish when the app is in fullscreen.
Here is the code I am using:
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
mainFrame.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LOW_PROFILE |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
);
I have already played around with some of the options but it is hard because I do not own a Samsung device. Can someone with this device tell me the correct settings so navigation soft keys are not displayed in fullscreen mode?
i found something that might be helpfull. It's from Google's Developers site and I think it does exactly what you are looking for. I hope it will be some kind of help.
I think this part in the beginning is what you need but I also provide you a link below for more information:
Android 4.4 (API Level 19) introduces a new SYSTEM_UI_FLAG_IMMERSIVE flag for setSystemUiVisibility() that lets your app go truly "full screen." This flag, when combined with the SYSTEM_UI_FLAG_HIDE_NAVIGATION and SYSTEM_UI_FLAG_FULLSCREEN flags, hides the navigation and status bars and lets your app capture all touch events on the screen.
https://developer.android.com/training/system-ui/immersive.html
EDIT
i found an answer to a similar question with yours and the suggested approach is the following. try adding this to your code. it will do the trick.
int UI_OPTIONS = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
getWindow().getDecorView().setSystemUiVisibility(UI_OPTIONS);
Here is the link to the original: https://stackoverflow.com/a/31483291/8434076
How do I make the navigation bar transparent in landscape?
It works in portrait.
My device version is Kitkat(Nexus5)
The Youtube Kids works in KitKat.
I solved this problem.
We cannot set a color to navigation bar in landscape under lollipop.
But we can set transpalent temporarily these version.
You set the flag which is View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY.
setSystemUiVisibility(
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 // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
I am working on custom screen lock app where we need to full screen view hiding the top and bottom bars completely. The app is for Android phones only and not tablets. I achieved this partially by using Immersive mode but the issue is the bottom bar & top appears for few seconds on touching bottom or top of the screen.
Below is the code in my activity to do this :
final int flags = 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;
getWindow().getDecorView().setSystemUiVisibility(flags);
I have tried various options but unable to hide the bars permanently. Please advise.
I have tried some ways shown in android developers site to hide system bars. However, when an AlertDialog appears, system bars also appear.
Do you have an idea to always hide system bars, even in this situation?
Try the following code, this may help you:
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_IMMERSIVE |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN);
In the list of the paused apps, Android usually shows a small preview image of the app.
However, the preview image is black when I use the following way to hide the navigation bar:
uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(uiOptions);
If I remove the last two options, the preview is shown correctly. Keep one and the preview is black.
Is this a bug or are there any reasons for this? Are there any workarounds?
Edit: I would like too add that I also see this behaviour on other games that hide the navigation bar, like Plants vs. Zoombies 2....but that could be on purpose.