效果图

实现
1、新建一个utils
package com.example.lives.utils;import android.app.Activity;
import android.os.Build;
import android.view.View;
import android.view.WindowManager;/*** 状态栏工具类* 1.设置状态栏颜色* 2.隐藏状态栏* 3.设置状态栏字体颜色*/
public class StatusBarUtil {private Activity activity;//初始化activitypublic StatusBarUtil(Activity activity){this.activity = activity;}//将状态栏设置为传入的colorpublic void setColor(int color){if (Build.VERSION.SDK_INT >= 21) {View view = activity.getWindow().getDecorView();view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);activity.getWindow().setStatusBarColor(activity.getResources().getColor(color));}}//隐藏状态栏public void hide(){if (Build.VERSION.SDK_INT >= 21) {activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);}}//设置状态栏字体颜色public void setTextColor(boolean isDarkBackground){View decor = activity.getWindow().getDecorView();if (isDarkBackground) {//黑暗背景字体浅色decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);} else {//高亮背景字体深色decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);}}}
2、在需要使用的activity的onCreate方法中调用
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);StatusBarUtil statusBar = new StatusBarUtil(MainActivity.this);// 设置状态栏透明statusBar.setColor(R.color.transparent);// 设置状态栏文字为深色,一般为黑色(不设置的话就是浅色,一般为白色)statusBar.setTextColor(false);setContentView(R.layout.activity_main);}