自定義View系列(九)設(shè)置狀態(tài)欄顏色

網(wǎng)上有很多第三方的改變狀態(tài)欄顏色的代碼,寫(xiě)法也不一樣叫榕,今天我們自己來(lái)寫(xiě)一套熄赡,適配到Android4.4以上。

1.android5.0以上執(zhí)行語(yǔ)句

5.0以上有系統(tǒng)的方法兼贸,比較好實(shí)現(xiàn)如下:

 if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
        //直接調(diào)用系統(tǒng)的方法
           activity.getWindow().setStatusBarColor(color);
 }
2.android4.4以上到5.0以下適配

因?yàn)閍ndroid4.4以上到5.0以下系統(tǒng)沒(méi)有提供方法段直,需要自己去實(shí)現(xiàn),具體的實(shí)現(xiàn)思路--》把它設(shè)成全屏 寝受,在狀態(tài)欄加一個(gè)布局
設(shè)置全屏

        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

添加一個(gè)布局

    //狀態(tài)欄添加一個(gè)布局
        View view=new View(activity);
        ViewGroup.LayoutParams params= new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,      getStatusBarHeight(activity));
        view.setLayoutParams(params );
        view.setBackgroundColor(color);

       ViewGroup decorView= (ViewGroup) activity.getWindow().getDecorView();
        decorView.addView(view, 0);

       ViewGroup contentView=(ViewGroup) activity.findViewById(android.R.id.content);

        View activityView = contentView.getChildAt(0);
        activityView.setFitsSystemWindows(true);
3.獲取狀態(tài)欄高度
private static int getStatusBarHeight(Activity activity){
   //先獲取資源id坷牛,根據(jù)資源ID獲取資源
  Resources resources= activity.getResources();
int identifier = resources.getIdentifier("status_bar_height", "dimen", "android");
return resources.getDimensionPixelOffset(identifier);
}

其實(shí)就那么簡(jiǎn)單,下面提供以下完整代碼

public class StatusBarUtil {
/**
 *
 * @param activity
 * @param color
 */
public static void setStatusBarColor(Activity activity,int color){
    //5.0以上
    if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
        //直接調(diào)用系統(tǒng)的方法
           activity.getWindow().setStatusBarColor(color);

    }else if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){
      //4.4-5.0之間 采用一個(gè)技巧 很澄,首先把他能成全屏 京闰,在狀態(tài)欄加一個(gè)布局
        //設(shè)置全屏
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

        //狀態(tài)欄添加一個(gè)布局
        View view=new View(activity);
        ViewGroup.LayoutParams params= new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,     getStatusBarHeight(activity));
        view.setLayoutParams(params );
        view.setBackgroundColor(color);

       ViewGroup decorView= (ViewGroup) activity.getWindow().getDecorView();
        decorView.addView(view, 0);

       ViewGroup contentView=(ViewGroup) activity.findViewById(android.R.id.content);

        //1.方式一
        View activityView = contentView.getChildAt(0);
        activityView.setFitsSystemWindows(true);
        //方式二
        //            contentView.setPadding(0,getStatusBarHeight(activity),0,0);
        //方式三
       //            activityView.setPadding(0,getStatusBarHeight(activity),0,0);

    }

}

/**
 * 獲取狀態(tài)欄高度
 * @param activity
 * @return
 */
 private static int getStatusBarHeight(Activity activity){
   //先獲取資源id,根據(jù)資源ID獲取資源
  Resources resources= activity.getResources();
int identifier = resources.getIdentifier("status_bar_height", "dimen", "android");

return resources.getDimensionPixelOffset(identifier);
 }
 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甩苛,一起剝皮案震驚了整個(gè)濱河市蹂楣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讯蒲,老刑警劉巖痊土,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異墨林,居然都是意外死亡赁酝,警方通過(guò)查閱死者的電腦和手機(jī)犯祠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)酌呆,“玉大人衡载,你說(shuō)我怎么就攤上這事∠对” “怎么了痰娱?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)菩收。 經(jīng)常有香客問(wèn)我梨睁,道長(zhǎng),這世上最難降的妖魔是什么娜饵? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任坡贺,我火速辦了婚禮,結(jié)果婚禮上划咐,老公的妹妹穿的比我還像新娘拴念。我一直安慰自己,他們只是感情好褐缠,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布政鼠。 她就那樣靜靜地躺著,像睡著了一般队魏。 火紅的嫁衣襯著肌膚如雪公般。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天胡桨,我揣著相機(jī)與錄音官帘,去河邊找鬼。 笑死昧谊,一個(gè)胖子當(dāng)著我的面吹牛刽虹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播呢诬,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼涌哲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了尚镰?” 一聲冷哼從身側(cè)響起阀圾,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狗唉,沒(méi)想到半個(gè)月后初烘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年肾筐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哆料。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吗铐,死狀恐怖剧劝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抓歼,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布拢锹,位于F島的核電站谣妻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏卒稳。R本人自食惡果不足惜蹋半,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望充坑。 院中可真熱鬧减江,春花似錦、人聲如沸捻爷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)也榄。三九已至巡莹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甜紫,已是汗流浹背降宅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留囚霸,地道東北人腰根。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像拓型,于是被迫代替她去往敵國(guó)和親额嘿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,790評(píng)論 25 707
  • 前言 首先請(qǐng)大家看幾張圖: 以上的效果吨述,一般我們統(tǒng)稱(chēng)為沉浸式狀態(tài)欄岩睁。其實(shí),這種叫法不是很準(zhǔn)確揣云,而且也沒(méi)有沉浸式狀態(tài)...
    宇是我閱讀 3,814評(píng)論 2 28
  • 實(shí)現(xiàn)狀態(tài)欄沉浸式(透明狀態(tài)欄)的幾種方式: 1阎毅、通過(guò)第三方j(luò)ar包2、設(shè)置狀態(tài)欄透明点弯,頂部View拉伸一個(gè)狀態(tài)欄高...
    yegc_閱讀 5,913評(píng)論 0 3
  • 我望著車(chē)窗外的行人扇调。 看到一位穿著黑色羽絨服的老人指責(zé)著身后滿(mǎn)頭銀發(fā)的老奶奶,不管老奶奶的臉上已寫(xiě)滿(mǎn)了委屈抢肛,老人仍...
    安清兒閱讀 604評(píng)論 4 5
  • 昨天在葛老師微博看到這么一句話(huà):“有時(shí)候會(huì)想狼钮,為什么這么多人喜歡春天呢,大概是因?yàn)榇猴L(fēng)一吹過(guò)來(lái)捡絮,你閉上眼睛熬芜,感覺(jué)到...
    小迷糊的圖圖閱讀 136評(píng)論 0 0