嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片

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以上系統

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

日歷

鏈接

個人資料

藍藍設計的小編 http://m.sdgs6788.com

存檔

嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片
<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 欧美成人免费网站| 欧美在线1区| 欧美国产精品专区| 欧美激情a∨在线视频播放| 99综合在线| 亚洲制服av| 在线观看日韩专区| 亚洲精品资源美女情侣酒店| 国产精品推荐精品| 欧美成人午夜激情在线| 欧美性猛交xxxx乱大交退制版| 欧美日韩精品在线| 欧美性大战久久久久久久蜜臀| 午夜久久黄色| 另类人畜视频在线| 午夜精品福利视频| 欧美成人精品一区| 久久九九热免费视频| 欧美日韩国产va另类| 久久夜色精品国产| 国产精品美女黄网| 亚洲人成久久| 国产午夜精品视频| 一区二区不卡在线视频 午夜欧美不卡' | 久久免费高清| 欧美日韩国产一区二区三区地区| 久久久久免费| 国产精品久久久免费| 亚洲精品久久久久中文字幕欢迎你| 国产视频一区二区三区在线观看| 日韩视频不卡中文| 亚洲国产精品va在线看黑人 | 亚洲国产精品久久人人爱蜜臀 | 黄色日韩在线| 亚洲一区欧美激情| 亚洲一区二区少妇| 欧美成人一品| 久久综合中文| 国产有码在线一区二区视频| 亚洲欧美日韩国产成人精品影院 | 欧美不卡一区| 久久久蜜臀国产一区二区| 欧美性猛交99久久久久99按摩 | 亚洲黄一区二区三区| 久久久精品午夜少妇| 久久久亚洲一区| 国产一区二区三区高清在线观看 | 在线视频欧美日韩| 女同一区二区| 亚洲国产岛国毛片在线| 亚洲精华国产欧美| 欧美风情在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 在线日韩欧美视频| 在线观看亚洲精品| 久久亚洲高清| 在线视频观看日韩| 久久久一二三| 欧美黄免费看| 日韩一区二区免费看| 欧美精品综合| 99在线观看免费视频精品观看| 在线一区免费观看| 国产精品国产三级国产aⅴ9色| 在线视频你懂得一区| 99精品99| 亚洲国产精品第一区二区| 一区二区久久久久| 亚洲永久网站| 国产精品免费一区二区三区在线观看 | 99国产精品| 午夜精品免费在线| 国产一区二区三区免费不卡 | 亚洲视频二区| 国产精品久久久久9999吃药| 亚洲免费婷婷| 久久综合色影院| 亚洲欧洲日本一区二区三区| 欧美区在线观看| 亚洲一区视频在线| 开元免费观看欧美电视剧网站| 亚洲国产精品久久久久婷婷884 | 久久婷婷人人澡人人喊人人爽| 在线看欧美视频| 欧美成人伊人久久综合网| 日韩一区二区福利| 久久久午夜精品| 99精品久久免费看蜜臀剧情介绍| 欧美xxx成人| 亚洲天堂免费观看| 免费在线视频一区| 亚洲在线电影| 亚洲第一精品影视| 国产精品视频专区| 欧美成年人网| 欧美一级成年大片在线观看| 亚洲第一主播视频| 亚洲欧美日韩在线| 亚洲狠狠婷婷| 国产欧美视频在线观看| 欧美大片一区| 久久国产免费看| 亚洲深夜影院| 欧美激情亚洲视频| 久久9热精品视频| 日韩午夜电影| 国外成人在线| 国产精品青草久久| 欧美精品一区二区三区在线播放| 欧美在线综合| 亚洲一区二区伦理| 亚洲乱码一区二区| 欧美激情中文不卡| 久久久噜噜噜久久人人看| 亚洲欧美久久久| 亚洲蜜桃精久久久久久久| 韩国成人福利片在线播放| 国产精品毛片在线| 欧美日韩精品| 欧美国产精品劲爆| 久久嫩草精品久久久精品| 亚洲欧美日韩国产综合在线| 亚洲三级观看| 欧美黑人在线观看| 欧美xxxx在线观看| 久久久蜜桃一区二区人| 欧美夜福利tv在线| 午夜精品久久久| 亚洲一区二区三区精品在线| 99re6这里只有精品视频在线观看| ●精品国产综合乱码久久久久| 国产精品国内视频| 亚洲人成在线观看网站高清| 亚洲国产精品一区二区久| 久久精品国产99精品国产亚洲性色| 亚洲美女精品久久| 亚洲高清一区二| 国产亚洲视频在线| 国产麻豆精品视频| 国产日本欧美在线观看| 国产精品美女久久久久av超清 | 午夜伦欧美伦电影理论片| 夜夜嗨av一区二区三区| 日韩一区二区久久| 国产精品99久久99久久久二8| 一本色道久久综合亚洲精品小说| 亚洲裸体视频| 日韩一区二区免费高清| 亚洲精品乱码久久久久久| 亚洲乱码日产精品bd| 99精品视频免费| 99亚洲一区二区| 国产精品99久久久久久久久久久久| 一区二区三区视频免费在线观看| 一区二区三区欧美日韩| 亚洲一区二区三区激情| 亚洲私人影院在线观看| 亚洲女女女同性video| 欧美在线欧美在线| 久久亚洲春色中文字幕| 欧美激情一二三区| 99国产精品久久久久久久久久| 在线视频亚洲欧美| 欧美一站二站| 欧美第一黄网免费网站| 欧美日韩中文字幕在线视频| 国产精品蜜臀在线观看| 黄色成人免费网站| 亚洲美女免费精品视频在线观看| 99视频有精品| 香蕉久久夜色精品国产使用方法| 欧美中文字幕久久| 欧美激情一区在线观看| aa成人免费视频| 午夜电影亚洲| 久久婷婷丁香| 欧美日韩伦理在线免费| 国产欧美一区二区白浆黑人| 伊人成人在线| 亚洲一级特黄| 另类激情亚洲| 日韩视频精品| 亚洲欧美日韩电影| 欧美黄色aaaa| 国产色爱av资源综合区| 亚洲精品视频免费观看| 先锋影音久久久| 欧美不卡视频| 亚洲一区二区日本| 欧美成人精品h版在线观看| 国产精品永久免费在线| 亚洲三级影院| 久久疯狂做爰流白浆xx| 亚洲国产欧美不卡在线观看| 亚洲欧美久久久| 欧美日韩国产另类不卡| 国产综合久久| 亚洲自拍偷拍视频| 91久久在线观看| 久久久精品视频成人|