diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java
index 888bf536c..0574520a1 100755
--- a/app/src/main/java/com/hippo/ehviewer/Settings.java
+++ b/app/src/main/java/com/hippo/ehviewer/Settings.java
@@ -252,6 +252,13 @@ public class Settings {
putIntToStr(KEY_THEME, theme);
}
+ public static final String KEY_APPLY_NAV_BAR_THEME_COLOR = "apply_nav_bar_theme_color";
+ private static final boolean DEFAULT_APPLY_NAV_BAR_THEME_COLOR = false;
+
+ public static boolean getApplyNavBarThemeColor() {
+ return getBoolean(KEY_APPLY_NAV_BAR_THEME_COLOR, DEFAULT_APPLY_NAV_BAR_THEME_COLOR);
+ }
+
public static final String KEY_GALLERY_SITE = "gallery_site";
private static final int DEFAULT_GALLERY_SITE = 1;
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java
index 0da056498..17c6c6857 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.java
@@ -17,14 +17,17 @@
package com.hippo.ehviewer.ui;
import android.content.Context;
+import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.annotation.StyleRes;
import android.support.v7.app.AppCompatActivity;
import android.view.WindowManager;
import com.google.firebase.analytics.FirebaseAnalytics;
+import com.hippo.android.resource.AttrResources;
import com.hippo.content.ContextLocalWrapper;
import com.hippo.ehviewer.EhApplication;
+import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import java.util.Locale;
@@ -44,6 +47,10 @@ public abstract class EhActivity extends AppCompatActivity {
if (Settings.getEnableAnalytics()) {
FirebaseAnalytics.getInstance(this);
}
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Settings.getApplyNavBarThemeColor()) {
+ getWindow().setNavigationBarColor(AttrResources.getAttrColor(this, R.attr.colorPrimaryDark));
+ }
}
@Override
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java
index 4eb978ed7..5cd2dada9 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/EhPreferenceActivity.java
@@ -18,14 +18,17 @@ package com.hippo.ehviewer.ui;
import android.content.Context;
import android.content.res.Resources;
+import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.annotation.StyleRes;
import android.view.WindowManager;
import com.google.firebase.analytics.FirebaseAnalytics;
+import com.hippo.android.resource.AttrResources;
import com.hippo.app.PrettyPreferenceActivity;
import com.hippo.content.ContextLocalWrapper;
import com.hippo.ehviewer.EhApplication;
+import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import java.util.Locale;
@@ -45,6 +48,10 @@ public abstract class EhPreferenceActivity extends PrettyPreferenceActivity {
if (Settings.getEnableAnalytics()) {
FirebaseAnalytics.getInstance(this);
}
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Settings.getApplyNavBarThemeColor()) {
+ getWindow().setNavigationBarColor(AttrResources.getAttrColor(this, R.attr.colorPrimaryDark));
+ }
}
@Override
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java
index 1c93a6c29..3c1a251f6 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java
@@ -17,6 +17,7 @@
package com.hippo.ehviewer.ui.fragment;
import android.app.Activity;
+import android.os.Build;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
@@ -33,16 +34,22 @@ public class EhFragment extends PreferenceFragment
addPreferencesFromResource(R.xml.eh_settings);
Preference theme = findPreference(Settings.KEY_THEME);
+ Preference applyNavBarThemeColor = findPreference(Settings.KEY_APPLY_NAV_BAR_THEME_COLOR);
Preference gallerySite = findPreference(Settings.KEY_GALLERY_SITE);
Preference listMode = findPreference(Settings.KEY_LIST_MODE);
Preference detailSize = findPreference(Settings.KEY_DETAIL_SIZE);
Preference thumbSize = findPreference(Settings.KEY_THUMB_SIZE);
theme.setOnPreferenceChangeListener(this);
+ applyNavBarThemeColor.setOnPreferenceChangeListener(this);
gallerySite.setOnPreferenceChangeListener(this);
listMode.setOnPreferenceChangeListener(this);
detailSize.setOnPreferenceChangeListener(this);
thumbSize.setOnPreferenceChangeListener(this);
+
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+ getPreferenceScreen().removePreference(applyNavBarThemeColor);
+ }
}
@Override
@@ -51,6 +58,9 @@ public class EhFragment extends PreferenceFragment
if (Settings.KEY_THEME.equals(key)) {
((EhApplication) getActivity().getApplication()).recreate();
return true;
+ } else if (Settings.KEY_APPLY_NAV_BAR_THEME_COLOR.equals(key)) {
+ ((EhApplication) getActivity().getApplication()).recreate();
+ return true;
} else if (Settings.KEY_GALLERY_SITE.equals(key)) {
getActivity().setResult(Activity.RESULT_OK);
return true;
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index df7727f41..9d986dd1b 100755
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -408,6 +408,7 @@
亮色
暗色
黑色
+ 导航栏应用主题配色
画廊站点
列表模式
详情
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index f4c292975..843a4ed39 100755
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -407,6 +407,7 @@
亮色
暗色
黑色
+ 導航欄應用主題配色
畫廊站點
列表模式
詳情
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index afd2d1ee7..9302811b4 100755
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -407,6 +407,7 @@
亮色
暗色
黑色
+ 導航欄應用主題配色
圖庫站台
列表模式
詳細資料
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 93b42c68f..6b5ba7f78 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -451,6 +451,7 @@
Light
Dark
Black
+ Apply theme color to navigation bar
Gallery site
List mode
Detail
diff --git a/app/src/main/res/xml/eh_settings.xml b/app/src/main/res/xml/eh_settings.xml
index 327434abf..b5f569227 100644
--- a/app/src/main/res/xml/eh_settings.xml
+++ b/app/src/main/res/xml/eh_settings.xml
@@ -51,6 +51,11 @@
app:entryValues="@array/theme_entry_values"
android:defaultValue="0"/>
+
+