Android+DrawerLayout+NavigationView实现沉浸式侧滑菜单

这里主要解释一下糟糕的沉浸状态栏实现,在多次查阅和实践后了解后,多处文章是这样写的:

1.在主布局DrawerLayout中android:fitsSystemWindows="true";

2.然后设置状态栏透明:

(一是item中设置true

二是在onCreate()中getWindow().setStatusBarColor(Color.TRANSPARENT);//状态栏透明

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);//Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住+保持整个View稳定, 常和控制System UI悬浮, 隐藏的Flags共用, 使View不会因为System UI的变化而重新layout


但是实践后,状态栏透明,侧滑部分状态栏仍然有黑条,解决办法是:

主布局:DrawerLayout中android:fitsSystemWindows="false";//很奇怪~

onCreate()中:

getWindow().setStatusBarColor(Color.TRANSPARENT);

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

成功沉浸~~


Android+DrawerLayout+NavigationView实现沉浸式侧滑菜单_第1张图片

你可能感兴趣的:(Android+DrawerLayout+NavigationView实现沉浸式侧滑菜单)