public boolean setDeepStatusBar(boolean isChange,Activity mActivity) {
if (!isChange){
return false;
}
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
// 透明状态栏
Window window = mActivity.getWindow();
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_HIDE_NAVIGATION*/
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
//设置状态栏文字颜色及图标为深色
mActivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
return true;
}else {
return false;
}
}
最后推荐给一些想进大厂或者还没有拿到心仪offer的攻城狮们一本书,由大厂java面试官胡书敏编写,满满的干货,助你进到想去的公司。

本文介绍了一个在Android应用中实现状态栏透明效果并自动调整文字颜色至深色的方法,适用于Android M及以上版本。通过代码示例,详细展示了如何在不同设备上设置透明状态栏,并确保状态栏的文字和图标显示为深色,提升用户体验。
2311

被折叠的 条评论
为什么被折叠?



