From 8d3d9a21f72f80abe7307995db1e03ec1310c227 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Mon, 2 Dec 2019 16:24:24 +0100 Subject: [PATCH] Allow switching theme --- .../card_locker/preferences/Settings.java | 1 + .../preferences/SettingsActivity.java | 28 ++++++++++++++++++- .../res/layout/loyalty_card_edit_activity.xml | 13 +++++---- app/src/main/res/values-night/colors.xml | 17 +++++++++++ app/src/main/res/values/colors.xml | 1 + app/src/main/res/values/settings.xml | 12 ++++++++ app/src/main/res/values/strings.xml | 8 ++++++ app/src/main/res/xml/preferences.xml | 7 +++++ 8 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/values-night/colors.xml diff --git a/app/src/main/java/protect/card_locker/preferences/Settings.java b/app/src/main/java/protect/card_locker/preferences/Settings.java index 4fe3c9074..56cadb647 100644 --- a/app/src/main/java/protect/card_locker/preferences/Settings.java +++ b/app/src/main/java/protect/card_locker/preferences/Settings.java @@ -5,6 +5,7 @@ import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.annotation.IntegerRes; import android.support.annotation.StringRes; +import android.support.v7.app.AppCompatDelegate; import protect.card_locker.R; diff --git a/app/src/main/java/protect/card_locker/preferences/SettingsActivity.java b/app/src/main/java/protect/card_locker/preferences/SettingsActivity.java index 167682048..10e823ce6 100644 --- a/app/src/main/java/protect/card_locker/preferences/SettingsActivity.java +++ b/app/src/main/java/protect/card_locker/preferences/SettingsActivity.java @@ -1,9 +1,13 @@ package protect.card_locker.preferences; import android.os.Bundle; +import android.preference.Preference; import android.preference.PreferenceFragment; +import android.preference.PreferenceScreen; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; +import android.support.v7.app.AppCompatDelegate; +import android.util.Log; import android.view.MenuItem; import protect.card_locker.R; @@ -44,12 +48,34 @@ public class SettingsActivity extends AppCompatActivity public static class SettingsFragment extends PreferenceFragment { @Override - public void onCreate(Bundle savedInstanceState) + public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preferences); + + findPreference(getResources().getString(R.string.settings_key_theme)).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object o) { + if(o.toString().equals(getResources().getString(R.string.settings_key_light_theme))) + { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); + getActivity().recreate(); + return true; + } + else if(o.toString().equals(getResources().getString(R.string.settings_key_dark_theme))) + { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); + getActivity().recreate(); + return true; + } + + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); + getActivity().recreate(); + return true; + } + }); } } } diff --git a/app/src/main/res/layout/loyalty_card_edit_activity.xml b/app/src/main/res/layout/loyalty_card_edit_activity.xml index 620fba282..4ce3df789 100644 --- a/app/src/main/res/layout/loyalty_card_edit_activity.xml +++ b/app/src/main/res/layout/loyalty_card_edit_activity.xml @@ -38,7 +38,7 @@ android:layout_width="match_parent" android:background="@color/inputBorder" /> + android:layout_height="wrap_content" + android:background="@color/inputBackground"> + + + #3f51b5 + #757de8 + #002984 + #ffc107 + #fff350 + #c79100 + #000000 + #ffffff + + #070707 + #000000 + #222222 + #666666 + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 1fa2d7175..19c265c60 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -11,6 +11,7 @@ #000000 #F8F8F8 + #FFFFFF #DDDDDD #AAAAAA \ No newline at end of file diff --git a/app/src/main/res/values/settings.xml b/app/src/main/res/values/settings.xml index fe2d9bc01..882dc2567 100644 --- a/app/src/main/res/values/settings.xml +++ b/app/src/main/res/values/settings.xml @@ -1,5 +1,17 @@ + + @string/settings_key_system_theme + @string/settings_key_light_theme + @string/settings_key_dark_theme + + + + @string/settings_system_theme + @string/settings_light_theme + @string/settings_dark_theme + + #f16364 #f58559 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 831b3274d..8bf349511 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -109,6 +109,14 @@ Settings User interface + Theme + pref_theme + System theme + system + Light theme + light + Dark theme + dark Card title list font size pref_card_title_list_font_size_sp Card note list font size diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 20dad4d4d..cd573de00 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -6,6 +6,13 @@ + +