• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

"how to program an app to display in full screen?

Before Android 11, I've adjusted my app to fullscreen easily

My old phone had the camera hole and base buttons outside the screen area, my new phone has a camera hole and the base buttons inside a screen.

With few settings, my app was fullscreen in the old phone.

Styles.xml

HTML:
    <style name="AppTheme.NoActionBar">
            <item name="windowActionBar">false</item>   
            <item name="windowNoTitle">true</item>   
            <item name="android:windowFullscreen">true</item>
            <item name="android:windowContentOverlay">@null</item>
    </style>

AndroidManifest.xml

HTML:
 <application
       ...      
       android:theme="@style/AppTheme.NoActionBar">
    </application>

In my new phone with Android 11, I've searched everywhere on Internet. I've tried many different solutions. In the end, I put in my app the following code in that start of OnCreate().


Code:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
      window.attributes.layoutInDisplayCutoutMode =
          WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
        WindowCompat.setDecorFitsSystemWindows(window, false)
     else {
          @Suppress("DEPRECATION")
          window.setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN
          )
        }


I wanted a narrow margin near the base buttons and the camera hole, like Chrome.

But all can I get is a wide margin between the app and button (downward) and between the app and the camera hole (upward):

qHxyJ.png


But I would want a narrow margin:

3PEds.png


similar to Chrome browser for Android:

Xbjtm.png


How can I do this programatically?

I haven't been able to find a single clue to my problem in Internet (and StackOverflow)

I also haven't been able to figure out how to identify if a given cell phone has the camera hole on the screen or if it has the base buttons on the screen. It looks like it's based on DisplayCutout, WindowInsets, boundingRectTop and boundingRectBottom, but there is no real and clear usage example in Internet.
 
I've solved my problem by myself. It's the most unlikely solution that I could imagine.

In AndroidManifest.xml section application, I just add the line

HTML:
<meta-data android:name="android.max_aspect" android:value="2.4" />

From there, everything started to work correctly
 
Back
Top Bottom