国产精品爱久久久久久久小说,女人扒开腿让男人桶到爽 ,亚洲欧美国产双大乳头,国产成人精品综合久久久久,国产精品制服丝袜无码,免费无码精品黄av电影,黑色丝袜无码中中文字幕,乱熟女高潮一区二区在线

    Android沉浸式狀態(tài)欄

    2018-4-2    seo達人

    如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里

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

    —1.全屏設(shè)置 
    對于4.4以上系統(tǒng),因4.4以上系統(tǒng)是可以設(shè)置全屏,代碼如下:

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

    對于5.0系統(tǒng) 具體代碼

    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

    僅僅做全屏處理,我們會發(fā)現(xiàn)不管是在4.4系統(tǒng)上還是在5.0系統(tǒng)上,我們的布局內(nèi)容會與狀態(tài)欄內(nèi)容出現(xiàn)重疊。

    下圖為4.4系統(tǒng) 
    這里寫圖片描述

    下圖為8.0系統(tǒng) 
    這里寫圖片描述

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

    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系統(tǒng)因為沒有改變狀態(tài)欄顏色的api,我們可以通過添加一個與狀態(tài)欄等高的View到根布局的父容器中,而根布局的父容器就是一個ID為android.R.id.content的幀布局被裝飾的容器中,這樣只需要設(shè)置View的顏色即可。對于5.0及以上系統(tǒng),因已提供設(shè)置狀態(tài)欄和導(dǎo)航欄顏色的api,直接設(shè)置即可; 
    對于4.4以上5.0一下系統(tǒng)

    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及以上系統(tǒng)

    window.setStatusBarColor(Color.RED); 
    
    • 1

    獲取狀態(tài)欄高度

     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

    以上就是實現(xiàn)沉浸式狀態(tài)欄的具體過程。整體代碼如下:

    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); }
        } /**
         * 獲取狀態(tài)欄高度
         * @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

    最終實現(xiàn)結(jié)果:

    4.4系統(tǒng) 
    4.4以上5.0一下系統(tǒng) 
    8.0系統(tǒng)

    5.0以上系統(tǒng)

    藍藍設(shè)計www.dzxscac.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)

    日歷

    鏈接

    個人資料

    藍藍設(shè)計的小編 http://www.dzxscac.cn

    存檔

    主站蜘蛛池模板: 挺进邻居丰满少妇的身体| 高清久久久| 亚洲综合成人一区二区三区 | 黄色视屏免费| 精品夜夜澡人妻无码av蜜桃| 永久免费男同av无码入口| 日本性爱动漫| 亚洲色图偷| 亚洲午夜未满十八勿入网站2| 日韩三级在线观看| 凸凹人妻人人澡人人添| 国产欧美日韩精品丝袜高跟鞋| 国产爆乳无码视频在线观看| 日韩激情网站| 国产精品九| 国产精品国产三级在线专区| 无码国产欧美一区二区三区不卡| 日韩二级片| 二区视频在线| 秋霞鲁丝片av无码少妇| 无码av免费一区二区三区四区| 午夜影院福利| 极品少妇xxx| 国产精品.xx视频.xxtv| 国产人碰人摸人爱视频| 亚洲黄色免费| jizzjizzjizz亚洲女| 自拍偷自拍亚洲精品被多人伦好爽| 色婷婷av99xx| 久热精品在线观看| 九九九在线| 伊人久久精品久久亚洲一区| 四虎亚洲精品成人a在线观看| jizzjizz欧美69巨大| 国产成人久久精品77777综合| 国产jjizz女人多水喷水| 精品国产av无码一道| 911香蕉视频| 成人理论视频| 无码精品一区二区免费AV| 激情综合婷婷丁香五月俺来也|