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

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

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

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

(一是item中设置<item name="android:windowTranslucentStatus">true</item>

二是在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);

成功沉浸~~


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容