Android 在灯光主题上使用夜间资源

Android 在灯光主题上使用夜间资源,android,android-resources,android-theme,material-components-android,Android,Android Resources,Android Theme,Material Components Android,我使用的是材质组件的黑色主题样式,一切正常,但现在我需要显示一个具有不同主题的特定视图,以获得更多对比度。 我在values/themes.xml中定义了我的主主题,如下所示: @彩色/彩色原色 @颜色/颜色\u主要\u变体 @主屏幕上的颜色/颜色 ... 以及values/colors.xml和values/colors.xml中的两种不同颜色资源 我想做的是找到一种方法,在使用深色主题时检索浅色主题颜色(反之亦然),或者将相反的主题应用于单个视图 我找到的唯一解决方案是在colors.x

我使用的是材质组件的黑色主题样式,一切正常,但现在我需要显示一个具有不同主题的特定视图,以获得更多对比度。 我在
values/themes.xml
中定义了我的主主题,如下所示:


@彩色/彩色原色
@颜色/颜色\u主要\u变体
@主屏幕上的颜色/颜色
...
以及
values/colors.xml
values/colors.xml
中的两种不同颜色资源

我想做的是找到一种方法,在使用深色主题时检索浅色主题颜色(反之亦然),或者将相反的主题应用于单个视图


我找到的唯一解决方案是在
colors.xml
文件中为每种颜色定义两个变量(正常和“反转”),但由于定义了许多颜色,我希望避免这种情况。

为了避免为每种颜色定义多个明暗值变量,我定义了一个引用相反主题变量的自定义样式,例如在
values/styles.xml
I defined中:


values/styles.xml
中:


然后在布局的根目录中,我想使用“反转”主题:


...