In diesem Abschnitt wird beschrieben, wie Sie das dunkle Thema (dunkler Modus) unterstützen, das von Android 10 auf der Anwendungsseite vollständig unterstützt wird.
res/values/styles.xml Aktualisieren Sie zunächst die Datei styles.xml, die auch für die normale Anpassung von Designs verwendet wird, und definieren Sie die Farbe, die Sie wechseln möchten, wenn der Dunkelmodus EIN / AUS ist.
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:colorBackground">@color/colorBackground</item>
<item name="android:textColor">@color/textColor</item>
<item name="android:textColorPrimary">@color/textColorPrimary</item>
<item name="android:textColorSecondary">@color/textColorSecondary</item>
</style>
</resources>
Beschreiben Sie die Farbdefinition, auf die verwiesen wird, wenn der Dunkelmodus in den Systemeinstellungen in res / values-night / farben.xml aktiviert ist, und die normale Farbe in res / values / color.xml.
<resources>
<color name="colorPrimary">#212121</color>
<color name="colorPrimaryDark">#212121</color>
<color name="colorAccent">#80cbc4</color>
<color name="colorTransparent">#00000000</color>
<color name="textColor">#FFFFFF</color>
<color name="textColorPrimary">#FFFFFF</color>
<color name="textColorSecondary">#808080</color>
<color name="colorBackground">#313131</color>
<color name="colorCardBackground">@color/colorPrimary</color>
<color name="colorBackgroundBottomAppBar">#353535</color>
</resources>
Wenn Sie bis zu diesem Punkt unterstützen, wechselt die Anzeige gemäß den Systemeinstellungen, ohne Code zu schreiben.
Verwenden Sie AppCompatDelegate.setDefaultNightMode, um auf die gesamte App anzuwenden.
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES); //Gilt für die gesamte App
AppCompatDelegate.setLocalNightMode(MODE_NIGHT_YES); //Gilt nur für bestimmte Aktivitäten
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO); //Gilt für die gesamte App
AppCompatDelegate.setLocalNightMode(MODE_NIGHT_NO); //Gilt nur für bestimmte Aktivitäten
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_FOLLOW_SYSTEM); //Gilt für die gesamte App
AppCompatDelegate.setLocalNightMode(MODE_NIGHT_FOLLOW_SYSTEM); //Gilt nur für bestimmte Aktivitäten
Recommended Posts