美文网首页
Android+DrawerLayout+NavigationV

Android+DrawerLayout+NavigationV

作者: M_1646 | 来源:发表于2019-01-07 09:38 被阅读0次

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

    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);

    成功沉浸~~

    相关文章

      网友评论

          本文标题:Android+DrawerLayout+NavigationV

          本文链接:https://www.haomeiwen.com/subject/bpeyrqtx.html