以编程方式更改DarkMode

问题描述 投票:0回答:1

这是attr_styles.xml中的我的样式

<style name="AttrStyles" parent="Theme.AppCompat.DayNight.NoActionBar">
    <item name="calendarAppointmentView">@style/calendar_appointment_view</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="alertDialogTheme">@style/white_style</item>
</style>

而且我有2个colors.xml文件。 1表示值,另一个表示值-night。

如果我从手机设置中选择DarkMode开启或关闭,它将起作用。但是我想在我的应用程序中使用一个微调框,并具有:自动,打开,关闭。如何基于该微调器强制它显示浅色(值)或显示深色(值-夜晚)?

我尝试在App.kt类(Application类)中调用onCreate():

    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)

    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)

但是没有任何反应。我在做什么错?

android view color-scheme android-night-mode android-dark-theme
1个回答
0
投票

搜索您的问题大约2分钟后,我遇到了一个类似的问题,该问题几乎是answer you're looking for。似乎您必须使用方法setTheme。

© www.soinside.com 2019 - 2024. All rights reserved.