相关疑难解决方法(0)

是否有API可以检测操作系统使用的主题-黑暗或明亮(或其他)?

背景

在最近的Android版本中,自Android 8.1以来,该操作系统对主题的支持越来越多。更具体地说,是深色主题。

问题

即使从用户的角度讨论了黑暗模式,但几乎没有为开发人员编写任何内容。

我发现了什么

从Android 8.1开始,Google提供了某种深色主题。如果用户选择使用深色墙纸,则操作系统的某些UI组件将变为黑色(此处为文章)。

此外,如果您开发了动态壁纸应用程序,则可以告诉操作系统它具有哪种颜色(三种颜色),这也影响了操作系统的颜色(至少在基于Vanilla的ROM和Google设备上)。这就是为什么我什至制作了一个应用程序,该应用程序可以让您拥有任何墙纸,同时仍然可以选择颜色(此处)。这是通过调用notifyColorsChanged,然后将它们使用提供onComputeColors

从Android 9.0开始,现在可以选择要使用的主题:亮,暗或自动(基于墙纸):

在此处输入图片说明

而现在,在接近Android Q的情况下,它似乎走得更远了,但尚不清楚到什么程度。不知何故,一个名为“ Smart Launcher”的启动器已经骑在其上,可以直接使用其主题(此处的文章)。因此,如果启用暗模式(按此处的说明手动进行),则会显示该应用的设置屏幕,如下所示:

在此处输入图片说明

到目前为止,我唯一发现的就是以上文章,并且我正在关注这种主题。

我也知道如何请求操作系统使用动态壁纸来更改颜色,但这似乎在Android Q上正在改变,至少根据我在尝试时看到的内容(我认为这更多是基于一天中的时间) ,但不确定)。

问题

  1. 是否有API可以获取操作系统要使用的颜色?

  2. 是否有某种API可以获取操作系统的主题?从哪个版本开始?

  3. 新的API是否也与夜间模式相关?它们如何一起工作?

  4. 是否有适合应用程序处理所选主题的API?这意味着,如果操作系统具有特定主题,那么当前的应用程序也可以吗?

android themes android-8.1-oreo android-9.0-pie android-10.0

9
推荐指数
5
解决办法
2009
查看次数