改變Android狀態列字型顏色和實現沉浸式狀態列

2021-07-10 17:31:05 字數 1403 閱讀 9457

目前已知的改變android狀態列字型顏色的方法只有3種情況下可以實現,分別是手機是miui系統、魅族手機以及android6.0。改變顏色方法分別如下:

* 改變小公尺的狀態列字型顏色為黑色, 要求miui6以上

lightstatusbar為真時表示黑色字型

*/private void processmiui(booleanlightstatusbar) catch (exception ignored)

}

/**

* 改變魅族的狀態列字型為黑色,要求flyme4以上

*/private void processflyme(booleanislightstatusbar) else

} catch (exception ignored)

}

/**

* 處理lollipop以上

* lollipop可以設定為沉浸,不能設定字型顏色(所以白色背景會很醜)

* m(api23)可以設定

*/@targetapi(build.version_codes.lollipop)private void processlollipopabove()

int flag = window.getdecorview().getsystemuivisibility();

if (lightstatusbar)

*/flag |= (windowmanager.layoutparams.flag_draws_system_bar_backgrounds

| view.system_ui_flag_light_status_bar);

}if (transparentstatusbar)

window.getdecorview().setsystemuivisibility(flag);

window.setstatusbarcolor(color.transparent);

}

如何實現狀態列沉浸式可以通過sysembartint這個庫,通過initwindow方法在setcontent之後執行可以實現沉浸式效果:

@targetapi(19)

private void initwindow()

}

public static int getstatusbarheight(context context) catch(exception e1)

kaslog.d(tag, bar + "height= " + height);

height = math.max(0, height);

return height;

}

Android修改狀態列顏色即狀態列字型顏色

修改當前 activity 的顯示模式,hidestatusbarbackground true 全屏模式,false 著色模式 param activity param hidestatusbarbackground public static void setstatusbar activity...

改變狀態列顏色

window window getwindow 取消設定透明狀態列,使contentview內容不再覆蓋狀態列 window.clearflags windowmanager.layoutparams.flag translucent status 需要設定這個flag才能呼叫setstatusba...

Android 改變頂部狀態列的顏色

版本4.4 1.在style.xml中新增 name android windowtranslucentstatus tools targetapi kitkat true item 2.改變狀態列顏色 在要適配的activity 比如activity main.xml 裡修改根layout 最底層...