- SYSTEM_UI_FLAG_LAYOUT_STABLE
從字面的意思來看,用作布局穩定的作用,看如下代碼:
布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@mipmap/two" />
</RelativeLayout>
對應的Activity
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
效果圖如下
將Activity代碼改為:
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
效果如下
因此,作用顯而易見,在設置全屏時,加上這個標志位以后,布局不會占用狀態欄的空間
2. SYSTEM_UI_FLAG_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
兩個標志位都是設置全屏,區別是:
前者Activity全屏顯示時,狀態欄被隱藏覆蓋掉
后者狀態欄不會被隱藏覆蓋,狀態欄依然可見,Activity頂端布局部分會被狀態遮住
3. SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
前者導航欄不顯示,布局延伸到導航欄
后者導航欄顯示,布局延伸到導航欄