we are targeting our application at api 28 and draw content under status bar. For this we are using following flag and styles :
window.addFlags(FLAG_LAYOUT_N
the "problem" underlies the behavior of the FLAG_LAYOUT_NO_LIMITS, mixed with the new gesture functionality in api 29
https://medium.com/androiddevelopers/gesture-navigation-going-edge-to-edge-812f62e4e83e https://medium.com/androiddevelopers/gesture-navigation-handling-visual-overlaps-4aed565c134c
a little solution is:
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
window.statusBarColor = Color.TRANSPARENT
and don't set
android:fitsSystemWindows
android:windowTranslucentStatus
android:windowIsTranslucent
In android api 29, Bottom bar is overlapping the content.
Add this code in your activity
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
ViewCompat.setOnApplyWindowInsetsListener(getWindow().getDecorView(), new OnApplyWindowInsetsListener() {
@Override
public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
v.setPadding(0, 0, 0, v.getPaddingBottom() + insets.getSystemWindowInsetBottom());
return insets;
}
});
You should this to you main activity
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
and then create a new styles.xml file for v29
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- values-v29/themes.xml -->
<style name="AppTheme"
parent="Theme.AppCompat.Light">
<item name="android:navigationBarColor">
@android:color/black
</item>
<!-- Optional, if drawing behind the status bar too -->
<item name="android:statusBarColor">
@android:color/black
</item>
</style>
</resources>
source: https://medium.com/androiddevelopers/gesture-navigation-going-edge-to-edge-812f62e4e83e