我使用styles.xml
中声明的2个不同的主题为应用程序添加了深色主题支持。
在官方android开发人员网站上:
为了支持深色主题,您必须设置应用的主题(通常是 在res / values / styles.xml中找到)以继承DayNight主题
这就是我所做的。我还创建了colors-night.xml
来避免修改无法通过编码在styles.xml
中修改的颜色,这也可以工作:从设备系统激活暗模式时,颜色会自动更改。
在这一点上,我想知道哪种方法是实现深色主题的最佳方法:使用colors-night(和drawable-night)或这两种方式的组合来创建2个不同的主题?
答案 0 :(得分:1)
首先,下面的youtube视频可以告诉您当前关于主题化的最佳做法。
https://www.youtube.com/watch?v=Owkf8DhAOSo
他们讨论了将您的样式分为
themes.xml
->与主题相关的样式styles.xml
->组件相关样式type.xml
->文字外观样式然后,您所有的颜色都应放在一个{.1}}中的colors.xml中。
您将具有以下结构:
在实践中,我发现很难仅用一种values
包含所有颜色。我仍然创建colors.xml
,因为某些颜色不一定会属于某种样式。
在此回购中实践中查看此内容。观察者发现Google本身并没有遵循只使用一个values-night/colors.xml
的观点。