android 4.4以上沉浸式狀態欄和沉浸式導航欄管理,適配橫豎屏切換、劉海屏、軟鍵盤彈出等問題,能夠修改狀態欄字體顏色和導航欄圖標顏色,以及不可修改字體顏色手機的適配,適用於Activity、Fragment、DialogFragment、Dialog,PopupWindow,一句代碼輕鬆實現,以及對bar的其餘設置,詳見README。簡書請參考:http://www.jianshu.com/p/2a884e211a62php
6,3611,054android
android 4.4以上沉浸式狀態欄和沉浸式導航欄管理,一句代碼輕鬆實現,以及對bar的其餘設置git
相關文章:http://www.jianshu.com/p/2a884e211a62 github
android studioapp
eclipseeclipse
下載佈局
基礎用法(已經能夠知足平常沉浸式)字體
高級用法(每一個參數的意義)this
在activity的onDestroy方法中執行
建議在BaseActivity中初始化和銷燬
爲了使每一個fragment均可以設置不一樣的沉浸式樣式,這裏給出兩種解決方式,這兩種實現效果都同樣的
①使用viewpager的addOnPageChangeListener方法,代碼以下
②繼承ImmersionFragment類,在immersionInit中初始化沉浸式,代碼以下:
① 使用dimen自定義狀態欄高度
在values-v19/dimens.xml文件下
在values/dimens.xml文件下
而後在佈局界面添加view標籤,高度指定爲status_bar_height
② 使用系統的fitsSystemWindows屬性
而後使用ImmersionBar時候必須指定狀態欄顏色
③ 使用ImmersionBar的fitsSystemWindows(boolean fits)方法
④ 使用ImmersionBar的statusBarView(View view)方法
在標題欄的上方增長View標籤,高度指定爲0dp
而後使用ImmersionBar的statusBarView方法,指定view就能夠啦
public static boolean hasNavigationBar(Activity activity)
判斷是否存在導航欄
public static int getNavigationBarHeight(Activity activity)
得到導航欄的高度
public static int getNavigationBarWidth(Activity activity)
得到導航欄的寬度
public static boolean isNavigationAtBottom(Activity activity)
判斷導航欄是否在底部
public static int getStatusBarHeight(Activity activity)
或得狀態欄的高度
public static int getActionBarHeight(Activity activity)
或得ActionBar得高度