【发布时间】:2021-03-10 04:28:09
【问题描述】:
我们正在努力让我们的应用在 Android 10 上的浅色 UI 和深色 UI 模式下都看起来不错(通过 Android Studios 的主题)。
浅色主题效果很好,并且可以很好地应用主要和主要强调色。问题与黑暗主题有关。如果在手机上启用了深色模式(小米米 9 更新到 MIUI 12),那么即使我们在深色主题文件上也设置了相同的原色和强调色,颜色也会变得更暗。甚至我们使用“@colors/name_of_color”应用的恒定颜色也会变暗(据我了解,这根本不应该发生)。
这是我们的主题文件:
主题.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.DynaswayConcussion" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/main_green</item>
<item name="colorPrimaryVariant">@color/main_green</item>
<item name="colorOnPrimary">@color/main_gray</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
<style name="Theme.DynaswayConcussion.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.DynaswayConcussion.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.DynaswayConcussion.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
theme.xml(夜晚)
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.DynaswayConcussion" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/main_green</item>
<item name="colorPrimaryVariant">@color/main_green</item>
<item name="colorOnPrimary">@color/main_gray</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
<style name="Theme.DynaswayConcussion.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.DynaswayConcussion.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="Theme.DynaswayConcussion.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark" />
</resources>
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="accent_green">#377854</color>
<color name="main_green">#66d999</color>
<color name="main_gray">#4d4543</color>
<color name="main_pink">#d971cd</color>
<color name="accent_pink">#fadadd</color>
<color name="chart_baseline">#ebd810</color>
<color name="chart_test">#d13e11</color>
</resources>
我们使用 AppCompatActivity 和 Fragment 来开发应用程序的屏幕,并且我们没有直接在任何按钮上应用颜色(这些按钮变成了非常深的绿色阴影)。我们只是将背景颜色直接应用于卡片上的某些背景(accent_pink 颜色),甚至那些变暗的背景。
这是 MIUI 的问题吗?还是我们的配置有问题?
【问题讨论】:
标签: android android-dark-theme