|
|
@@ -1,8 +1,11 @@
|
|
|
package com.miekir.eden.tool.ui;
|
|
|
|
|
|
import android.app.Activity;
|
|
|
+import android.graphics.Color;
|
|
|
import android.os.Build;
|
|
|
import android.view.View;
|
|
|
+import android.view.Window;
|
|
|
+import android.view.WindowManager;
|
|
|
|
|
|
/**
|
|
|
* Copyright (C), 2019-2020, Miekir
|
|
|
@@ -18,7 +21,7 @@ public class NavigationTool {
|
|
|
* @param light
|
|
|
*/
|
|
|
public static void setLightNavigationBar(Activity activity, boolean light) {
|
|
|
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
|
+ if (activity == null || Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -33,4 +36,51 @@ public class NavigationTool {
|
|
|
}
|
|
|
activity.getWindow().getDecorView().setSystemUiVisibility(vis);
|
|
|
}
|
|
|
+
|
|
|
+ /***
|
|
|
+ * 修改NavigationBar背景颜色 可自定义颜色
|
|
|
+ * */
|
|
|
+ public static void setNavigationBarColor(Activity activity, int colorResourceId){
|
|
|
+ if (activity == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Window window = activity.getWindow();
|
|
|
+ window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
|
|
+ window.setNavigationBarColor(activity.getResources().getColor(colorResourceId));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 隐藏导航栏
|
|
|
+ * @param activity
|
|
|
+ */
|
|
|
+ public static void hideNavigationBar(Activity activity) {
|
|
|
+ if (activity == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ View decorView = activity.getWindow().getDecorView();
|
|
|
+ int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
|
|
|
+ decorView.setSystemUiVisibility(uiOptions);
|
|
|
+ //getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
|
|
+ //getWindow().setNavigationBarColor(Color.BLACK);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置透明导航栏
|
|
|
+ * @param activity
|
|
|
+ */
|
|
|
+ public static void setNavigationBarTransparent(Activity activity) {
|
|
|
+ if (activity == null || Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Window window = activity.getWindow();
|
|
|
+ //WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS |
|
|
|
+ window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
|
|
+ //View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
|
|
|
+ window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
|
|
+ | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
|
|
|
+ window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
|
|
+ //window.setStatusBarColor(Color.TRANSPARENT);
|
|
|
+ window.setNavigationBarColor(Color.TRANSPARENT);
|
|
|
+ }
|
|
|
}
|