关于沉浸式,相信大家也都有了解,下面记录下一个简单实现沉浸式的方法。(4.4以上)
在setContentView 前面调用以下方法。
private void initState() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
}
并在layout 的布局中添加两行代码
android:fitsSystemWindows="true"
android:clipToPadding="true"
这两行代码一定要放在布局文件中的第一个容器(状态栏下面第一个容器)中如下就是放在RelativeLayout中:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
android:fitsSystemWindows="true"
android:clipToPadding="true"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:background="@color/bule2">
<ImageView
android:id="@+id/backIv"
android:layout_width="25dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginLeft="15dp"
android:src="@drawable/back"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:textSize="20sp"
android:textColor="@color/white"
android:text="@string/showdata"/>
</RelativeLayout>
</LinearLayout>