【问题标题】:How to optimise my app for android dark theme?如何针对 android 深色主题优化我的应用程序?
【发布时间】:2021-10-11 03:57:41
【问题描述】:

我正在开发一个测验应用程序,当我的手机开启灯光模式时它可以正常工作。但是当我切换到深色模式时,背景颜色会发生变化,但文本仍然是黑色,这使得它难以阅读。如何优化我的应用,使其在暗模式下也能正常工作?

【问题讨论】:

标签: android kotlin user-interface darkmode


【解决方案1】:

很简单,只需要在color.xml(night)文件中指定夜间模式颜色即可。

【讨论】:

    【解决方案2】:

    从您的测验问题TextView 中删除所有属性android:textColor,并确保在您的theme.xmltheme.xml (night) 文件中使用Theme.MaterialComponents.DayNight

    【讨论】:

      【解决方案3】:

      简单的总结一下

      1. 确保您的应用主题是Theme.MaterialComponents.DayNight 或相关主题(如Theme.AppCompat.DayNight)的后代
      2. colors.xml 文件中的每个颜色资源提供备用颜色。所以基本上你的values/ 目录中有两个文件colors.xmlcolors-night.xml。当您的设备切换到深色主题时,将应用带有 night 限定符的那个
      3. 您还可以在attrs.xml 中将自定义属性作为颜色提供,但请确保在每种情况下(即白天和黑夜)都提供值

      developer docs 解释的很简单

      如果您需要在 Q 及以上版本中选择退出全局深色主题,您可以使用 Theme.AppCompat.Day 或 Theme.MaterialComponents.Day` 和其他后代

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-07
        • 1970-01-01
        • 1970-01-01
        • 2015-10-04
        • 2013-05-04
        • 1970-01-01
        • 1970-01-01
        • 2019-10-27
        相关资源
        最近更新 更多