在**中設定
if (build.version.sdk_int >= build.version_codes.kitkat)
複製**
通過檢視windowmanager.layoutparams.flag_translucent_status
的官方注釋,有這麼一句話
when this flag is enabled for a window, it automatically sets * the system ui visibility flags and * .也可以這麼設定
view decorview = getwindow().getdecorview();
decorview.setsystemuivisibility(view.system_ui_flag_fullscreen | view.system_ui_flag_layout_stable);
複製**
當然也可以在values-v19/styles.xml,values-v21/styles.xml和values-v23/styles.xml中設定
"android:windowtranslucentstatus">true
複製**
這個屬性會使布局下移乙個狀態列高度的距離,避免布局侵入到狀態列
1. 如果布局頭部是乙個imageview
這種情況下,imageview侵入到狀態列,如果沒有大的影響,其實可以不做處理.否則,建議做出的,其內容能盡量下移一下,避免被狀態列遮擋過多.android5.0以後可以通過palette獲取bitmap的顏色,來給預留的view設定顏色.
1.1 新增依賴
implementation 'com.android.support:palette-v7:27.1.1'
複製**
1.2 獲取顏色並設定給預留view//預留view
final view insetview = null;
//頭部imageview
final bitmap bitmap = null;
palette.from(bitmap).generate(new palette.paletteasynclistener() else }}
});複製**
2.如果布局頭部是個標題欄
2.1 在布局頭部放置乙個0dp高度的view
"match_parent"
android:layout_height="match_parent"
android:layout_orientation="vertical">
"match_parent"
android:layout_height="0dp"
android:id="@+id/insetview"
>
"match_parent"
android:id="@+id/content"
android:layout_height="0dp"
android:layout_weight="1">
複製**
2.2 在**裡獲取狀態列高度/**
* 獲取狀態列高度
* @param context
* @return
*/protected
intgetstatusbarheight
(context context)
return result;
}複製**
2.3 設定預留view的高度和顏色protected
void
setstatusheightandbackgroundcolor
(int height ,int color)
}複製**
以上這樣處理,在小公尺8劉海螢幕上也能完美適配 各大廠手機適配位址
oppo
vivo
識別小公尺手機
miui6沉浸式狀態列
miui 9 & 10「狀態列黑色字元」實現方法變更通知
Android沉浸式狀態列
完成沉浸式其實網上有很多的辦法 我這裡面只提供一種但是我感覺這種方式很自由,在styles裡面 stylename parent itemname colorprimary color colorbaseitem itemname colorprimarydark color colorprimar...
Android沉浸式狀態列
市場上,現階段很流行android沉浸式開發,但是限於google api的限制,所以此特性只能針對android4.4,github上目前開源的systembartint能夠很好的實現此特性。android 4.4 特有屬性,android 5.0以上機型,預設開啟。1 利用android stu...
Android透明狀態列 沉浸式狀態列
注意 android版本 4.4此方法有效 第一步 在activity的布局檔案中,根布局中加入以下第5 7行 第二步 新建類kitkatutils.class package cn.powerthink.djt.utils import android.annotation.suppresslin...