目前为止只支持4.4以上的版本。
首先需要用到systembartint
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPBVWMRRlT1EzRiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN4cjNyITM1EDNxYDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
compile好之后就可以了,直接上代码了
public class BaseActivity extends FragmentActivity {
protected SystemBarTintManager tintManager;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initWindow();
}
@TargetApi(19)
protected void initWindow() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
tintManager = new SystemBarTintManager(this);
setStatusBarColor(getResources().getColor(R.color.colorAccent));
tintManager.setStatusBarTintEnabled(true);
}
}
protected void setStatusBarColor(int color) {
if (tintManager != null)
tintManager.setStatusBarTintColor(color);
}
protected void disableSystemBarTint() {
if (tintManager != null)
tintManager.setStatusBarTintEnabled(false);
}
}
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// setStatusBarColor(Color.parseColor("#000000"));
// disableSystemBarTint();
}
}
你可以直接继承,在BaseActivity里面设置状态栏的颜色,如果你要设置其他的颜色,可以通过