Add Dialog to change theme.
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
BIN
app/src/main/res/drawable-night/back.png
Normal file
BIN
app/src/main/res/drawable-night/back.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
@@ -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">
|
||||
<item
|
||||
android:id="@+id/action_undo"
|
||||
android:icon="@android:drawable/ic_menu_revert"
|
||||
android:orderInCategory="5"
|
||||
android:title="@string/undo" />
|
||||
<item
|
||||
android:id="@+id/action_clear"
|
||||
android:checkable="false"
|
||||
android:orderInCategory="100"
|
||||
android:orderInCategory="10"
|
||||
android:title="@string/clear"
|
||||
app:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/action_undo"
|
||||
android:icon="@android:drawable/ic_menu_revert"
|
||||
android:title="@string/undo" />
|
||||
android:id="@+id/action_theme"
|
||||
android:orderInCategory="15"
|
||||
android:title="@string/choose_theme_text" />
|
||||
</menu>
|
||||
@@ -2,4 +2,5 @@
|
||||
<resources>
|
||||
<string name="clear">Neues Spiel Starten</string>
|
||||
<string name="undo">Letzte Runde Löschen</string>
|
||||
<string name="choose_theme_text">Theme auswählen</string>
|
||||
</resources>
|
||||
@@ -2,4 +2,5 @@
|
||||
<resources>
|
||||
<string name="clear">Neus Spil Starte</string>
|
||||
<string name="undo">Letschti Rundi Lösche</string>
|
||||
<string name="choose_theme_text">Usgsehe ändere</string>
|
||||
</resources>
|
||||
@@ -6,4 +6,5 @@
|
||||
<string name="team_b" translatable="false">Team B</string>
|
||||
<string name="clear">Start New Game</string>
|
||||
<string name="undo">Undo Last Round</string>
|
||||
<string name="choose_theme_text">Choose theme</string>
|
||||
</resources>
|
||||
@@ -1,10 +1,11 @@
|
||||
<resources>
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.NoActionBar">
|
||||
|
||||
Reference in New Issue
Block a user