前言
我个人比较喜欢黑白搭的风格,显得简约、文艺。
说到Android白底黑字状态栏、都会看到过这篇文章白底黑字!Android浅色状态栏黑色字体模式,这也是我最喜欢的一篇文章、(感觉是技术与美貌并存哈哈哈),拿过来调用、变色了、ok了,但之后总会有部分机型出现问题、有时候一气之下就放弃了这个设计、回到原来的灰色状态栏。
每次都心有不甘,这次决定花点时间研究一下...
使用/**
* Created by 赵晨璞
*/public class StatusBarUtil {/**
* 修改状态栏为全透明
* @param activity
*/@TargetApi(19)public static void transparencyBar(Activity activity){ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
} else
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window window =activity.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
}/**
* 修改状态栏颜色,支持4.4以上版本
* @param activity
* @param colorId
*/public static void setStatusBarColor(Activity activity,int colorId) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();// window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(activity.getResources().getColor(colorId));
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {