如何扩展 Android Material 深色主题

How Do I extend Android Material Dark Theme

我知道我在这里犯的错误可能已经够多了。但是让我知道。 我已经尝试尽我所能地浏览 MaterialIO 文档,但它看起来非常混乱和复杂,每个页面中都有十几个链接将我重定向到另一个次要组件。 那是我决定尝试的时候。

<application ...
        android:theme="@style/Theme.MaterialComponents.DayNight" >
</application>
<?xml version="1.0" encoding="utf-8"?>
<resources>
        <style name="AppCompat.." parent="Theme.MaterialComponents.DayNight">
                <item name="android:colorBackground">@color/JDBG</item>
                <item name="colorSurface">@color/JDSurface</item>
                <item name="colorPrimary">@color/JDPrimary</item>
                <item name="android:colorSecondary">@color/JDSecondary</item>
                <item name="android:OnBackground">@color/JDOnBackground</item>
                <item name="android:OnSurface">@color/JDOnSurface</item>
                <item name="OnPrimary">@color/JDOnPrimary</item>
                <item name="OnSecondary">@color/JDOnSecondary</item>
        </style>
</resources>

我不想在非常抽象的文档上无所事事,这些文档在每个点上都引导我十个方向。因此问题。 . . 我做错了什么吗? 接下来我该做什么?

只需在资源文件中定义您的主题。
例如 res/values/styles.xml:

<style name="MyTheme" parent="Theme.MaterialComponents.DayNight">
    <item name="colorPrimary">@color/....</item>
    <item name="colorSecondary">@color/....</item>
    <item name="colorOnPrimary">@color/....</item>
    <item name="colorOnSecondary">@color/....</item>
    .....
</style>

定义 res/values/colors.xmlres/values-night/colors.xml 中的颜色。

然后在 Manifest 中应用主题:

<application ...
        android:theme="@style/MyTheme" >

同时检查 official guide.