android實現(xiàn)沉浸式狀態(tài)欄

前言

在android開發(fā)的過程中,經(jīng)常會涉及到沉浸式狀態(tài)欄的問題,說白了,就是手機屏幕頂部欄的顏色顯示問題,為了實現(xiàn)美感一體的效果,許多app都已經(jīng)開始了沉浸式狀態(tài)欄的顯示,這里,我也簡單介紹一個沉浸式狀態(tài)欄的類StatusBarUtil,這個類使用簡單并很好的解決了兼容問題。

今天涉及的內(nèi)容有:

  1. StatusBarUtil 的使用,當中包含效果圖
  2. StatusBarUtil源碼

一. StatusBarUtil 的使用

一般在未實現(xiàn)沉浸式狀態(tài)欄的時候,(為了方便展示,我將activity背景設置成粉紅色)狀態(tài)欄是這樣的:


1.png.png
1.1 設置狀態(tài)欄背景透明
        //設置狀態(tài)欄背景透明
        StatusBarUtil.immersive(mContext);

效果圖如下:


2.png.png
1.2 給狀態(tài)欄設置特定顏色

這里將狀態(tài)欄設置成紅色

//設置狀態(tài)欄背景紅色
StatusBarUtil.immersive(mContext, ContextCompat.getColor(mContext,R.color.red));

效果圖


3.png.png
1.3 設置狀態(tài)欄背景色的透明度

這里將狀態(tài)欄背景設置成紅色,透明度設置成半透明(注:透明度的值在0-1之間),設置代碼如下:

   //設置狀態(tài)欄背景半透明紅
   StatusBarUtil.immersive(mContext, ContextCompat.getColor(mContext,R.color.red),0.5f);

效果圖


4.png.png

除了可以設置狀態(tài)欄的背景色外,StatusBarUtil 還可以設置狀態(tài)欄文字的顏色,目前狀態(tài)欄文字顏色只支持兩種:白色和黑色

1.4 設置狀態(tài)欄黑色字體

設置狀態(tài)欄黑色字體有兩種方法

      //設置狀態(tài)欄文字變黑
      //方法一
      StatusBarUtil.darkMode(mContext);
      //方法二
      StatusBarUtil.darkMode(mContext,true);

效果圖


5.png.png
1.5 設置狀態(tài)欄白色字體
//設置狀態(tài)欄文字變白
StatusBarUtil.darkMode(mContext,false);

效果圖


6.png.png
1.6 綜合設置狀態(tài)欄屬性

若你想設置狀態(tài)欄文字為黑色的同時,還能設置狀態(tài)欄背景色及其透明度,你可以調(diào)用以下方法(以背景色藍色半透明為例):

          //設置狀態(tài)欄字體變黑,設置狀態(tài)欄背景色和狀態(tài)欄背景色的透明度
          StatusBarUtil.darkMode(mContext, ContextCompat.getColor(this,R.color.blue),0.5f);

效果圖

7.png.png

二. StatusBarUtil 源碼

下面貼出 StatusBarUtil 實現(xiàn)代碼:

還有 69% 的精彩內(nèi)容
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
支付 ¥3.00 繼續(xù)閱讀

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容