沉浸式状态栏的最佳实现
最简洁的沉浸式状态栏的实现方式
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>