在最近的Android版本中,自Android 8.1以来,该操作系统对主题的支持越来越多。更具体地说,是深色主题。
即使从用户的角度讨论了黑暗模式,但几乎没有为开发人员编写任何内容。
从Android 8.1开始,Google提供了某种深色主题。如果用户选择使用深色墙纸,则操作系统的某些UI组件将变为黑色(此处为文章)。
此外,如果您开发了动态壁纸应用程序,则可以告诉操作系统它具有哪种颜色(三种颜色),这也影响了操作系统的颜色(至少在基于Vanilla的ROM和Google设备上)。这就是为什么我什至制作了一个应用程序,该应用程序可以让您拥有任何墙纸,同时仍然可以选择颜色(此处)。这是通过调用notifyColorsChanged,然后将它们使用提供onComputeColors
从Android 9.0开始,现在可以选择要使用的主题:亮,暗或自动(基于墙纸):
而现在,在接近Android Q的情况下,它似乎走得更远了,但尚不清楚到什么程度。不知何故,一个名为“ Smart Launcher”的启动器已经骑在其上,可以直接使用其主题(此处的文章)。因此,如果启用暗模式(按此处的说明手动进行),则会显示该应用的设置屏幕,如下所示:
到目前为止,我唯一发现的就是以上文章,并且我正在关注这种主题。
我也知道如何请求操作系统使用动态壁纸来更改颜色,但这似乎在Android Q上正在改变,至少根据我在尝试时看到的内容(我认为这更多是基于一天中的时间) ,但不确定)。
是否有API可以获取操作系统要使用的颜色?
是否有某种API可以获取操作系统的主题?从哪个版本开始?
新的API是否也与夜间模式相关?它们如何一起工作?
是否有适合应用程序处理所选主题的API?这意味着,如果操作系统具有特定主题,那么当前的应用程序也可以吗?
android themes android-8.1-oreo android-9.0-pie android-10.0