92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

Android沉浸式狀態欄

2018-4-2    seo達人

如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

隨著越來越的的app使用沉浸式狀態欄,有必要對沉浸式狀態欄學習一下,查看了很多資料,沉浸式狀態欄重要的無法三點:1.實現全屏 (Android4.4跟5.0全屏處理方式有別需分開處理 )2.設置全屏之后為了保證自己寫的布局不與狀態欄重疊,需要在跟xml的跟布局設置android:fitsSystemWindows=”true” ?;谶@幾點處理方式可能很多,但是為了便于項目中工具類封裝,本編實現方式均已代碼方式呈現,xml設置方式可以自行查閱相關資料 3.改變狀態欄顏色

—1.全屏設置 
對于4.4以上系統,因4.4以上系統是可以設置全屏,代碼如下:

window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 
  • 1
  • 2

對于5.0系統 具體代碼

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS|WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
  • 1
  • 2
  • 3
  • 4
  • 5

僅僅做全屏處理,我們會發現不管是在4.4系統上還是在5.0系統上,我們的布局內容會與狀態欄內容出現重疊。

下圖為4.4系統 
這里寫圖片描述

下圖為8.0系統 
這里寫圖片描述

為了解決全屏設置重疊狀態欄,我們需要在全屏之上預留狀態欄的高度以便正常顯示狀態欄,而處理方式也很簡單 activity layout根目錄添加下面代碼 
android:fitsSystemWindows=”true” 而此處我建議用代碼設置,因為通常我們項目中會提取BaseActivity基類抽出一些共性,這種方式比在每個xml中設置屬性更方便 
rootView.setFitsSystemWindows(true) 此處的rootView指的就是activity對應的跟布局; 
進行以上處理之后我們會發現現在狀態欄跟我們的布局內容不再重疊了,接下來我們就只需要處理狀態欄的顏色問題了。具體代碼如下

ViewGroup content= (ViewGroup) findViewById(android.R.id.content); ViewGroup childView= (ViewGroup) content.getChildAt(0); if(childView!=null){
                childView.setFitsSystemWindows(true); } 
  • 1
  • 2
  • 3
  • 4
  • 5

對于4.4系統因為沒有改變狀態欄顏色的api,我們可以通過添加一個與狀態欄等高的View到根布局的父容器中,而根布局的父容器就是一個ID為android.R.id.content的幀布局被裝飾的容器中,這樣只需要設置View的顏色即可。對于5.0及以上系統,因已提供設置狀態欄和導航欄顏色的api,直接設置即可; 
對于4.4以上5.0一下系統

View view=new View(this); view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,getStatusHeight())); view.setBackgroundColor(Color.RED); content.addView(view); 
  • 1
  • 2
  • 3
  • 4

對于5.0及以上系統

window.setStatusBarColor(Color.RED); 
  • 1

獲取狀態欄高度

 private int getStatusHeight() { int statusHeight=-1; int resourceId=getResources().getIdentifier("status_bar_height","dimen","android"); if(resourceId>0){ return getResources().getDimensionPixelSize(resourceId);
        } return 0;
    } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

以上就是實現沉浸式狀態欄的具體過程。整體代碼如下:

package com.example.administrator.myjavadeamo.activity; import android.graphics.Color; import android.os.Build; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import com.example.administrator.myjavadeamo.R; public class StatusBarActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_NO_TITLE);//隱藏標題欄 setContentView(R.layout.activity_status_bar); initWindow(); }

    private void initWindow() {
        Window window=getWindow(); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
            //5.0以上的手機
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS|WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); ViewGroup content= (ViewGroup) findViewById(android.R.id.content); ViewGroup childView= (ViewGroup) content.getChildAt(0); if(childView!=null){
                childView.setFitsSystemWindows(true); }
            window.setStatusBarColor(Color.GREEN); }else if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){
            //4.4以上5.0一下的手機
            window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); ViewGroup content= (ViewGroup) findViewById(android.R.id.content); ViewGroup childView= (ViewGroup) content.getChildAt(0); if(childView!=null){
                childView.setFitsSystemWindows(true); }

            View view=new View(this); view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,getStatusHeight())); view.setBackgroundColor(Color.GREEN); content.addView(view); }
    } /**
     * 獲取狀態欄高度
     * @return
     */ private int getStatusHeight() {
        int statusHeight=-1; int resourceId=getResources().getIdentifier("status_bar_height","dimen","android"); if(resourceId>0){
           return getResources().getDimensionPixelSize(resourceId); }
        return 0; }
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67

最終實現結果:

4.4系統 
4.4以上5.0一下系統 
8.0系統

5.0以上系統

藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
中日韩美女免费视频网站在线观看| 国产精品国产三级国产aⅴ浪潮| 亚洲欧美日韩一区二区三区在线| 国产99视频精品免视看7| 77777少妇光屁股久久一区| 久久夜色精品国产| 国产美女精品视频免费观看| 亚洲国产精品成人精品| 97婷婷涩涩精品一区| 国产精品6699| 日日骚av一区| 亚洲女在线观看| 日韩黄色高清视频| 在线观看日韩欧美| 国产精品免费久久久| 亚洲精品按摩视频| 国产精品高清在线| 久久精品国产电影| 国产美女91呻吟求| 国语自产偷拍精品视频偷| 国产91|九色| 久久久久久香蕉网| 在线一区二区日韩| 91精品久久久久久久久不口人| 久久亚洲欧美日韩精品专区| 欧美视频国产精品| 亚洲欧美日韩久久久久久| 色樱桃影院亚洲精品影院| 一区二区av在线| 亚洲电影中文字幕| 久久韩剧网电视剧| 亚洲无亚洲人成网站77777| 日韩精品高清在线观看| 97成人在线视频| 日本高清视频一区| 亚洲精品v天堂中文字幕| 国产精品永久免费在线| 久久久久国色av免费观看性色| 日韩欧美中文字幕在线观看| 欧美亚洲在线观看| 国产成人精品免费久久久久| 午夜精品久久久99热福利| 日韩av在线播放资源| 日韩电影大全免费观看2023年上| 中文字幕日韩免费视频| 亚洲在线视频福利| 欧美日韩免费在线观看| 北条麻妃一区二区三区中文字幕| 欧美国产高跟鞋裸体秀xxxhd| 中文字幕免费精品一区高清| 成人黄色影片在线| 国产一区二区三区视频| 精品久久久久久久久久久久久| 欧美主播福利视频| 亚洲精品www| 国产精品女主播| 国产成人精品国内自产拍免费看| 国产精品视频网址| 国产一区二区在线免费视频| 国产精品xxxxx| 欧美激情亚洲综合一区| 国产欧美va欧美va香蕉在| 亚洲最新在线视频| 亚洲国产成人精品久久| 欧美成年人视频| 亚洲国产小视频在线观看| 2024亚洲男人天堂| 日韩精品有码在线观看| 中文字幕在线视频日韩| 久久久久国产视频| 亚洲欧美www| 日韩在线中文字幕| 日韩精品免费视频| 国产在线精品一区免费香蕉| 亚洲小视频在线观看| 欧美激情第6页| 成人h视频在线观看播放| 性欧美办公室18xxxxhd| 国产成人在线精品| 久久91精品国产91久久久| 最好看的2019年中文视频| 欧美性猛交xxxx久久久| 91精品在线影院| 欧美电影免费观看电视剧大全| 国产精品99久久久久久久久久久久| 亚洲欧美日韩国产中文| 欧美成人久久久| 国产精品视频播放| 第一福利永久视频精品| 成人黄色激情网| 国产亚洲美女精品久久久| 欧美日韩中文字幕综合视频| 国产成人精品一区二区三区| 国产精品视频久| 九九热视频这里只有精品| 伦伦影院午夜日韩欧美限制| 最近的2019中文字幕免费一页| 久久精品亚洲94久久精品| 欧美激情精品久久久| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲精品第一国产综合精品| 国产91对白在线播放| 日韩美女免费观看| 精品中文字幕在线2019| 国产一区私人高清影院| 亚洲毛茸茸少妇高潮呻吟| 日韩高清av一区二区三区| 国产精品久久久av久久久| 91系列在线观看| 欧美激情极品视频| 亚洲国产精品va在线看黑人| 欧美乱大交做爰xxxⅹ性3| 欧美激情亚洲国产| 欧美日韩亚洲网| 日韩在线观看免费全| 国产成人精品视| 黄色成人在线免费| 一区二区三区视频免费在线观看| 国产热re99久久6国产精品| 国产精品久久久久久一区二区| 国产精品久久久久免费a∨| 亚洲国产精品热久久| 欧美色欧美亚洲高清在线视频| 性日韩欧美在线视频| 国产一区视频在线| 欧美极品xxxx| 国产91精品久| 一本一本久久a久久精品综合小说| 在线观看日韩欧美| 国产精品久久久久高潮| 97久久精品人搡人人玩| 国产精品久久久久久久美男| 国产精品久久久久久久美男| 亲爱的老师9免费观看全集电视剧| 久久久精品在线| 色一情一乱一区二区| 亚洲偷熟乱区亚洲香蕉av| 日本亚洲欧美成人| 欧美激情综合色| 久久最新资源网| 国产mv免费观看入口亚洲| 亚洲综合中文字幕在线| 成人日韩av在线| 欧美日韩爱爱视频| 日韩欧美有码在线| 欧美综合国产精品久久丁香| 欧美激情视频网站| 日韩精品在线播放| 国产精品女主播| 国内精品视频久久| 国产精品自产拍高潮在线观看| 亚洲精品久久久久久久久久久久| 久久久久久久久久久国产| 91精品国产成人www| 欧美电影院免费观看| 精品一区二区三区四区在线| 91免费的视频在线播放| 麻豆乱码国产一区二区三区| 亚洲片在线观看| 国产不卡在线观看| 国产精品揄拍500视频| 97久久久免费福利网址| 欧美黑人性生活视频| 久久精品视频免费播放|