Add new "Lavender" theme (#7343)

* Add new "Lavender" theme

* Add light theme values for Lavender theme

* Fix order of enums

* Fix accented UI elements in set categories sheet being different colors

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit ad106bd884)
This commit is contained in:
Osyx 2022-06-26 16:01:31 +02:00 committed by arkon
parent 4c3eb68d3a
commit 17899a6d6d
7 changed files with 109 additions and 3 deletions

View file

@ -30,13 +30,14 @@ object PreferenceValues {
enum class AppTheme(val titleResId: Int?) {
DEFAULT(R.string.label_default),
MONET(R.string.theme_monet),
GREEN_APPLE(R.string.theme_greenapple),
LAVENDER(R.string.theme_lavender),
MIDNIGHT_DUSK(R.string.theme_midnightdusk),
STRAWBERRY_DAIQUIRI(R.string.theme_strawberrydaiquiri),
YOTSUBA(R.string.theme_yotsuba),
TAKO(R.string.theme_tako),
GREEN_APPLE(R.string.theme_greenapple),
TEALTURQUOISE(R.string.theme_tealturquoise),
YINYANG(R.string.theme_yinyang),
YOTSUBA(R.string.theme_yotsuba),
// Deprecated
DARK_BLUE(null),

View file

@ -20,6 +20,9 @@ interface ThemingDelegate {
PreferenceValues.AppTheme.GREEN_APPLE -> {
resIds += R.style.Theme_Tachiyomi_GreenApple
}
PreferenceValues.AppTheme.LAVENDER -> {
resIds += R.style.Theme_Tachiyomi_Lavender
}
PreferenceValues.AppTheme.MIDNIGHT_DUSK -> {
resIds += R.style.Theme_Tachiyomi_MidnightDusk
}

View file

@ -29,7 +29,7 @@ class QuadStateTextView @JvmOverloads constructor(context: Context, attrs: Attri
val tint = if (state == State.UNCHECKED) {
context.getThemeColor(R.attr.colorControlNormal)
} else {
context.getThemeColor(R.attr.colorAccent)
context.getThemeColor(R.attr.colorPrimary)
}
if (tint != 0) {
TextViewCompat.setCompoundDrawableTintList(this, ColorStateList.valueOf(tint))

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Lavender theme
~
~ Color scheme by Osyx
~
~ Key colors:
~ Primary #A177FF
~ Secondary #A177FF
~ Tertiary #5E25E1
~ Neutral #111129
-->
<resources>
<color name="lavender_primary">#A177FF</color>
<color name="lavender_onPrimary">#111129</color>
<color name="lavender_primaryContainer">#A177FF</color>
<color name="lavender_onPrimaryContainer">#111129</color>
<color name="lavender_secondary">#A177FF</color>
<color name="lavender_onSecondary">#111129</color>
<color name="lavender_secondaryContainer">#A177FF</color>
<color name="lavender_onSecondaryContainer">#111129</color>
<color name="lavender_tertiary">#5E25E1</color>
<color name="lavender_onTertiary">#E8E8E8</color>
<color name="lavender_tertiaryContainer">#111129</color>
<color name="lavender_onTertiaryContainer">#DEE8FF</color>
<color name="lavender_background">#111129</color>
<color name="lavender_onBackground">#DEE8FF</color>
<color name="lavender_surface">#111129</color>
<color name="lavender_onSurface">#DEE8FF</color>
<color name="lavender_surfaceVariant">#2CB6B6B6</color>
<color name="lavender_onSurfaceVariant">#E8E8E8</color>
<color name="lavender_outline">#A8905FFF</color>
<color name="lavender_inverseOnSurface">#DEE8FF</color>
<color name="lavender_inverseSurface">#221247</color>
<color name="lavender_primaryInverse">#A177FF</color>
<color name="lavender_elevationOverlay">@color/lavender_primary</color>
</resources>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Colors for Lavender theme
~ Original color scheme by CrepeTF
~
~ Key colors:
~ Primary #7B46AF
~ Secondary #7B46AF
~ Tertiary #EDE2FF
~ Neutral #EDE2FF
-->
<resources>
<color name="lavender_primary">#7B46AF</color>
<color name="lavender_onPrimary">#EDE2FF</color>
<color name="lavender_primaryContainer">#7B46AF</color>
<color name="lavender_onPrimaryContainer">#EDE2FF</color>
<color name="lavender_secondary">#7B46AF</color>
<color name="lavender_onSecondary">#EDE2FF</color>
<color name="lavender_secondaryContainer">#7B46AF</color>
<color name="lavender_onSecondaryContainer">#EDE2FF</color>
<color name="lavender_tertiary">#EDE2FF</color>
<color name="lavender_onTertiary">#7B46AF</color>
<color name="lavender_tertiaryContainer">#EDE2FF</color>
<color name="lavender_onTertiaryContainer">#7B46AF</color>
<color name="lavender_background">#EDE2FF</color>
<color name="lavender_onBackground">#1B1B22</color>
<color name="lavender_surface">#EDE2FF</color>
<color name="lavender_onSurface">#1B1B22</color>
<color name="lavender_surfaceVariant">#B9B0CC</color>
<color name="lavender_onSurfaceVariant">#D849454E</color>
<color name="lavender_outline">#7B46AF</color>
<color name="lavender_inverseOnSurface">#F3EFF4</color>
<color name="lavender_inverseSurface">#313033</color>
<color name="lavender_primaryInverse">#D6BAFF</color>
<color name="lavender_elevationOverlay">@color/lavender_primary</color>
</resources>

View file

@ -157,6 +157,7 @@
<string name="pref_app_theme">App theme</string>
<string name="theme_monet">Dynamic</string>
<string name="theme_greenapple">Green Apple</string>
<string name="theme_lavender">Lavender</string>
<string name="theme_midnightdusk">Midnight Dusk</string>
<string name="theme_strawberrydaiquiri">Strawberry Daiquiri</string>
<string name="theme_tako">Tako</string>

View file

@ -121,6 +121,34 @@
<item name="colorPrimaryInverse">@color/greenapple_primaryInverse</item>
</style>
<!--== Lavender Theme ==-->
<style name="Theme.Tachiyomi.Lavender">
<!-- Theme Colors -->
<item name="colorPrimary">@color/lavender_primary</item>
<item name="colorOnPrimary">@color/lavender_onPrimary</item>
<item name="colorPrimaryContainer">@color/lavender_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/lavender_onPrimaryContainer</item>
<item name="colorSecondary">@color/lavender_secondary</item>
<item name="colorOnSecondary">@color/lavender_onSecondary</item>
<item name="colorSecondaryContainer">@color/lavender_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/lavender_onSecondaryContainer</item>
<item name="colorTertiary">@color/lavender_tertiary</item>
<item name="colorOnTertiary">@color/lavender_onTertiary</item>
<item name="colorTertiaryContainer">@color/lavender_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/lavender_onTertiaryContainer</item>
<item name="android:colorBackground">@color/lavender_background</item>
<item name="colorOnBackground">@color/lavender_onBackground</item>
<item name="colorSurface">@color/lavender_surface</item>
<item name="colorOnSurface">@color/lavender_onSurface</item>
<item name="colorSurfaceVariant">@color/lavender_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/lavender_onSurfaceVariant</item>
<item name="colorOutline">@color/lavender_outline</item>
<item name="colorOnSurfaceInverse">@color/lavender_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/lavender_inverseSurface</item>
<item name="colorPrimaryInverse">@color/lavender_primaryInverse</item>
<item name="elevationOverlayColor">@color/lavender_elevationOverlay</item>
</style>
<!--== Midnight Dusk Theme ==-->
<style name="Theme.Tachiyomi.MidnightDusk">
<!-- Theme Colors -->