View的一系列SYSTEM_UI_FLAG的作用


  1. 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);

效果圖如下
image
將Activity代碼改為:

decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

效果如下
image
因此,作用顯而易見,在設置全屏時,加上這個標志位以后,布局不會占用狀態欄的空間
2. SYSTEM_UI_FLAG_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
兩個標志位都是設置全屏,區別是:
前者Activity全屏顯示時,狀態欄被隱藏覆蓋掉
image
后者狀態欄不會被隱藏覆蓋,狀態欄依然可見,Activity頂端布局部分會被狀態遮住
image
3. SYSTEM_UI_FLAG_HIDE_NAVIGATION和SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
前者導航欄不顯示,布局延伸到導航欄
image
后者導航欄顯示,布局延伸到導航欄
image

轉自View的一系列SYSTEM_UI_FLAG的作用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM