沉浸式状态栏的最佳实现

最简洁的沉浸式状态栏的实现方式

1、在所需实现的Activity中加入代码

     

//透明状态栏    加入这行代码后,整个页面就会顶到状态栏的区域,占据状态栏。
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        //透明导航栏
        // getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

2、自定义标题栏,设置高度时考虑到留出状态栏那一部分,使用marginTop值留出来就可以了。如下:

<com.zhy.autolayout.AutoLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/main_title_color"  //此处设置标题栏的颜色,
    android:orientation="vertical">

    <com.zhy.autolayout.AutoRelativeLayout
        android:layout_width="match_parent"
        android:layout_height="88px"  //这个高度是自己的标题的高度
        android:layout_marginTop="@dimen/status_hight"> //这个marginTOP值就是系统状态栏高度,一般5.0以上为24dp,以下为25dp。
//可能不太准确,但是完全能达到要求,人眼根本分辨不出来这细微的差距
// 设置margintop就是给状态栏留出位置。 <--此处是标题的布局内容,比如button之类的--> </com.zhy.autolayout.AutoRelativeLayout> </com.zhy.autolayout.AutoLinearLayout>
原文地址:https://www.cnblogs.com/epmouse/p/5621398.html