From 26495f11a364940c53dc719d963f8097cad5d21d Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Wed, 19 Aug 2020 23:38:53 +0200 Subject: [PATCH] Add Dialog to change theme. --- .../me/zobrist/tichucounter/MainActivity.kt | 46 ++++++++++++++++++ app/src/main/res/drawable-night/back.png | Bin 0 -> 3879 bytes app/src/main/res/menu/menu_main.xml | 13 +++-- app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-gsw-rCH/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/styles.xml | 3 +- 7 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable-night/back.png diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index ed95624..2d420fb 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -1,5 +1,6 @@ package me.zobrist.tichucounter +import android.app.AlertDialog import android.os.Bundle import android.view.Menu import android.view.MenuItem @@ -8,6 +9,7 @@ import androidx.core.widget.doOnTextChanged import kotlinx.android.synthetic.main.content_main.* import android.text.InputType import android.widget.ScrollView +import androidx.appcompat.app.AppCompatDelegate class MainActivity : AppCompatActivity() { @@ -256,6 +258,10 @@ class MainActivity : AppCompatActivity() { undoLastRound() true } + R.id.action_theme -> { + chooseThemeDialog() + true + } else -> super.onOptionsItemSelected(item) } } @@ -317,4 +323,44 @@ class MainActivity : AppCompatActivity() { submit.isEnabled = false } + + private fun chooseThemeDialog() { + + val builder = AlertDialog.Builder(this) + builder.setTitle(getString(R.string.choose_theme_text)) + val styles = arrayOf("Light","Dark","System default") + + var checkedItem = when(AppCompatDelegate.getDefaultNightMode()) { + AppCompatDelegate.MODE_NIGHT_NO -> 0 + AppCompatDelegate.MODE_NIGHT_YES -> 1 + AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM -> 2 + else -> -1 + } + + + builder.setSingleChoiceItems(styles, checkedItem) { dialog, which -> + + when (which) { + 0 -> { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) + delegate.applyDayNight() + dialog.dismiss() + } + 1 -> { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) + delegate.applyDayNight() + + dialog.dismiss() + } + 2 -> { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) + delegate.applyDayNight() + dialog.dismiss() + } + } + } + + val dialog = builder.create() + dialog.show() + } } \ No newline at end of file diff --git a/app/src/main/res/drawable-night/back.png b/app/src/main/res/drawable-night/back.png new file mode 100644 index 0000000000000000000000000000000000000000..770c83c8448ebc655e6903b64418ac26a623cbea GIT binary patch literal 3879 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 p_1Hp^tsYWIz9IKCspL?< literal 0 HcmV?d00001 diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 032b427..779bead 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -2,14 +2,19 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="me.zobrist.tichucounter.MainActivity"> + + android:id="@+id/action_theme" + android:orderInCategory="15" + android:title="@string/choose_theme_text" /> \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 592e5e4..560610f 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -2,4 +2,5 @@ Neues Spiel Starten Letzte Runde Löschen + Theme auswählen \ No newline at end of file diff --git a/app/src/main/res/values-gsw-rCH/strings.xml b/app/src/main/res/values-gsw-rCH/strings.xml index caefbaa..c8d4afd 100644 --- a/app/src/main/res/values-gsw-rCH/strings.xml +++ b/app/src/main/res/values-gsw-rCH/strings.xml @@ -2,4 +2,5 @@ Neus Spil Starte Letschti Rundi Lösche + Usgsehe ändere \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dfdfdb2..0e770fb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -6,4 +6,5 @@ Team B Start New Game Undo Last Round + Choose theme \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 21d9ced..752e91f 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,10 +1,11 @@ -