Fullscreen App With DisplayCutout Fullscreen App With DisplayCutout android android

Fullscreen App With DisplayCutout


Set these properties in your theme :

<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item><item name="android:windowTranslucentStatus">true</item><item name="android:windowTranslucentNavigation">true</item>


I tried lot's of things but didn't get any success, then I try the following code and it's working fine.

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {            getWindow().getAttributes().layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;        }      ---    }

I hope it's helpful.


I finally found out why. For some strange reason, the application won't enter the if condition:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {    // It never gets here}

I removed that if condition and the activity finally goes fullscreen correctly.

Activity underneath the notch


Here are the bare minimum codes required to render the activity fullscreen.

Activity:

class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        // or add <item name="android:windowTranslucentStatus">true</item> in the theme        window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)        val attrib = window.attributes        attrib.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES    }}

Styles:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">    <item name="colorPrimary">@color/colorPrimary</item>    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>    <item name="colorAccent">@color/colorAccent</item>    <!-- Adding fullscreen will just hide the status bar -->    <!-- <item name="android:windowFullscreen">true</item> --></style>