詹子聪 5 лет назад
Родитель
Сommit
3160303ef0

+ 0 - 13
app/src/main/java/com/miekir/eden/base/BaseBeiActivity.java

@@ -52,19 +52,6 @@ public abstract class BaseBeiActivity extends BaseMVPActivity {
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
-        // 设置透明导航栏
-        /*if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
-            Window window = 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);
-        }*/
-
         if (!(this instanceof WelcomeActivity) && !(this instanceof TabActivity) && !(this instanceof LoginActivity)) {
             overridePendingTransition(R.anim.activity_right_to_left, R.anim.activity_stable);
         }

+ 51 - 1
app/src/main/java/com/miekir/eden/tool/ui/NavigationTool.java

@@ -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);
+    }
 }

+ 37 - 0
app/src/main/java/com/miekir/eden/tool/ui/StatusTool.java

@@ -0,0 +1,37 @@
+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
+ *
+ * @author Miekir
+ * @date 2020/9/23 9:27
+ * Description:
+ */
+public class StatusTool {
+    /**
+     * 设置透明状态栏
+     */
+    public static void setStatusBarTransparent(Activity activity){
+        if (activity == null) {
+            return;
+        }
+
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
+            Window window = activity.getWindow();
+            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+            window.setStatusBarColor(Color.TRANSPARENT);
+        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
+            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+        }
+    }
+}

+ 2 - 21
app/src/main/java/com/miekir/eden/ui/home/goods/detail/MeizhiDetailActivity.java

@@ -1,12 +1,8 @@
 package com.miekir.eden.ui.home.goods.detail;
 
-import android.graphics.Color;
-import android.os.Build;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
 
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.engine.DiskCacheStrategy;
@@ -17,6 +13,7 @@ import com.miekir.eden.base.SwipeBackActivity;
 import com.miekir.eden.manager.EdenManager;
 import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.tool.SystemTool;
+import com.miekir.eden.tool.ui.StatusTool;
 import com.miekir.eden.widget.SwipeBackLayout;
 
 import uk.co.senab.photoview.PhotoView;
@@ -32,7 +29,7 @@ public class MeizhiDetailActivity extends SwipeBackActivity {
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
-        setStatusBarTransparent();
+        StatusTool.setStatusBarTransparent(this);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_meizhi_detail);
 
@@ -70,20 +67,4 @@ public class MeizhiDetailActivity extends SwipeBackActivity {
                     .into(pv_meizhi);
         }
     }
-
-    /**
-     * 设置透明状态栏
-     */
-    private void setStatusBarTransparent(){
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
-            Window window = getWindow();
-            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
-                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
-            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
-            window.setStatusBarColor(Color.TRANSPARENT);
-        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
-            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-        }
-    }
 }

+ 0 - 6
app/src/main/java/com/miekir/eden/ui/home/video/KwyVideoActivity.java

@@ -50,12 +50,6 @@ public class KwyVideoActivity extends Activity {
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         NavigationTool.setLightNavigationBar(this, true);
         setContentView(R.layout.activity_video_play);
-        // 禁用导航栏
-        /*View decorView = 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);
         super.onCreate(savedInstanceState);
 
 

+ 3 - 4
app/src/main/java/com/miekir/eden/ui/welcome/WelcomeActivity.java

@@ -2,7 +2,6 @@ package com.miekir.eden.ui.welcome;
 
 import android.content.Intent;
 import android.os.Bundle;
-import android.view.View;
 
 import androidx.annotation.Nullable;
 
@@ -21,6 +20,7 @@ import com.miekir.eden.manager.EdenManager;
 import com.miekir.eden.net.RetrofitHelper;
 import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.tool.secure.AESTool;
+import com.miekir.eden.tool.ui.NavigationTool;
 import com.miekir.eden.ui.TabActivity;
 import com.miekir.eden.ui.home.tool.ISystemView;
 import com.miekir.eden.ui.home.tool.SystemPresenter;
@@ -72,9 +72,8 @@ public class WelcomeActivity extends BaseBeiActivity implements ILoginView, ISys
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         // 禁用导航
-        View decorView = getWindow().getDecorView();
-        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
-        decorView.setSystemUiVisibility(uiOptions);
+        NavigationTool.hideNavigationBar(this);
+
         // 不需要动画
         super.onCreate(savedInstanceState);