package com.hdl.photovoltaic.base; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.widget.FrameLayout; import androidx.annotation.Nullable; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.utils.LocalManageUtil; import com.jaeger.library.StatusBarUtil; import java.util.Locale; /** * 自定义方法,用于实现个性化 */ public abstract class CustomBaseActivity extends BaseActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); } // 将StatusBar设置为透明 public void setStatusBarTranslucent() { StatusBarUtil.setTranslucentForImageViewInFragment(this, 0, null); StatusBarUtil.setDarkMode(this);//状态栏字体是白色 // StatusBarUtil.setLightMode(this);//状态栏字体是黑色 } /** * 修改状态栏字体颜色(黑色,白色) */ public void setStatusBarTextColor() { // View.SYSTEM_UI_FLAG_HIDE_NAVIGATION, //隐藏导航栏 // View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, // View.SYSTEM_UI_LAYOUT_FLAGS, // View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, //全屏,状态栏会盖在布局上 // View.SYSTEM_UI_FLAG_FULLSCREEN, //全屏,状态栏和导航栏不显示 // View.SYSTEM_UI_FLAG_VISIBLE, //显示状态栏和导航栏 // View.SYSTEM_UI_FLAG_LAYOUT_STABLE,// 保持View Layout不变,隐藏状态栏或者导航栏后,View不会拉伸。 // View.SYSTEM_UI_FLAG_LOW_PROFILE,//状态栏:低能显示状态,状态栏上一些图标显示会被隐藏。 // View.SYSTEM_UI_FLAG_IMMERSIVE//只有当设置了SYSTEM_UI_FLAG_HIDE_NAVIGATION才起作用。如果没有设置,任意的View相互动作都退出SYSTEM_UI_FLAG_HIDE_NAVIGATION模式。如果设置就不会退出。 // View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//只有当设置了SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION 时起作用。如果没有设置,任意的View相互动作都退出SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION模式。 // getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); // getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); } /** * 设置通知栏背景颜色 * * @param color 颜色值(0=蓝色;1=白色;2=透明;) */ public void setNotificationBarBackgroundColor(CustomColor color) { switch (color) { case blue: { getWindow().setStatusBarColor(getColor(R.color.text_245EC3)); break; } case white: { // getWindow().setStatusBarColor(getColor(R.color.text_FFFFFFFF)); getWindow().setStatusBarColor(getColor(R.color.text_FFECECEC)); break; } case transparent: { getWindow().setStatusBarColor(getColor(R.color.text_00000000)); break; } } } public enum CustomColor { blue,//蓝色 white,//白色 transparent,//透明 } }