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 0000000..770c83c Binary files /dev/null and b/app/src/main/res/drawable-night/back.png differ 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 @@ -