Google从android kitkat(Android 4.4)开始,提供了一套能透明的系统ui样式给状态栏和导航栏 其实这不是沉浸式 但不知从哪里开始大家都叫沉浸式导航栏 也就默认这样叫了= =
下面使用非常简单的一种方式
先看效果:
在Acitivity的代码里先透明掉:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.daohang);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
现在状态栏和导航栏都变成了白色 然后在XML布局里的根布局定义自己想要的背景颜色就可以了
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:background="#FE1A35"
android:fitsSystemWindows="true"
android:clipToPadding="true"
android:layout_height="match_parent"
tools:context="ydtx.bwie.com.jinritoutiao.MainActivity">
<include
android:id="@+id/in"
layout="@layout/title"
android:layout_width="match_parent"
android:layout_height="40dp" />
注意:在布局里的根布局里一定要加上这两个属性
android:fitsSystemWindows="true"
android:clipToPadding="true"
这样就可以了 欧了!