1: 添加依賴
//沉浸式狀態(tài)欄
compile'com.readystatesoftware.systembartint:systembartint:1.0.3'
2: 在根布局添加屬性
android:fitsSystemWindows="true"
android:clipToPadding="false"
android:fitsSystemWindows="true"?? 這個屬性的作用就是你的contentview是否忽略actionbar,title,屏幕的底部虛擬按鍵,將整個屏幕當(dāng)作可用的空間。
正常情況,contentview可用的空間是去除了actionbar,title,底部按鍵的空間后剩余的可用區(qū)域;這個屬性設(shè)置為true,則忽略,false則不忽略
android:clipToPadding="false"? 這個屬性是:控件的繪制區(qū)域是否在padding里面, 值為true時padding那么繪制的區(qū)域就不包括padding區(qū)域;
3:調(diào)用著色代碼
private voidinitSystemBar() {
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT) {
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
//修改window的綜合屬性flags//WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS含義為狀態(tài)欄透明winParams.flags|= WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
win.setAttributes(winParams);
}
//調(diào)用開源庫SystemBarTintManager進(jìn)行狀態(tài)欄著色 產(chǎn)生沉浸式效果SystemBarTintManager tintManager =newSystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);//使用狀態(tài)欄著色可用tintManager.setStatusBarTintColor(Color.GREEN);//指定顏色進(jìn)行著色}