StatusBarCompat是网络大神封装
专门从代码角度来实现状态栏的操作。并且完成了4.4~5.0和5.0+的适配,先上源码:
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.support.v4.view.ViewCompat;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.FrameLayout;
public class StatusBarCompat {
private static final int COLOR_TRANSLUCENT = Color.parseColor("#00000000");
public static final int DEFAULT_COLOR_ALPHA = 112;
/**
* set statusBarColor
* @param statusColor color
* @param alpha 0 - 255
*/
public static void setStatusBarColor(Activity activity, int statusColor, int alpha) {
setStatusBarColor(activity, calculateStatusBarColor(statusColor, alpha));
}
public static void setStatusBarColor(Activity activity, int statusColor) {
Window window = activity.getWindow();
ViewGroup mContentView = (ViewGroup) activity.findViewById(Window.ID_ANDROID_CONTENT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//First translucent status bar.
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
if (Build.V