我知道我可能在这里犯了足够多的错误。但是莱姆知道吗。 我已经尝试过以最好的方式浏览MaterialIO文档,并且看起来很混乱,每页中都有许多链接,将我重定向到另一个次要组件。 那是我决定尝试的时候。
<application ...
android:theme="@style/Theme.MaterialComponents.DayNight" >
</application>
values/themes.xml
和values-night/themes.xml
。android:
应用于某些标签,而某些标签却出现错误。<?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>
colors.xml
和colors-night.xml
文件中,这告诉我这些值在基本值文件夹中没有声明,这可能会引起问题。我不想花很多精力去编写非常抽象的文档,它会引导我在每个方向上走十个方向。因此是一个问题。 。 。 我做错了什么吗? 我下一步该怎么做?
答案 0 :(得分:1)
只需在资源文件中定义主题。
例如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.xml
和res/values-night/colors.xml
中定义颜色。
然后在清单中应用主题:
<application ...
android:theme="@style/MyTheme" >
还要检查official guide.