android - 每当我在手机上切换到暗模式时,Android 应用程序的颜色都会发生变化
问题描述
我正在使用安卓工作室 4.1。我的实体手机上的android版本是10。当我在手机上安装应用程序时,我在手机上看到的颜色和项目中存在的颜色非常不同。我发现每当我关闭手机上的暗模式时,颜色就会与项目中的颜色相同。每当我在手机上切换到暗模式时,颜色都会改变。我只想要在手机上以浅色模式显示的颜色,在这两种情况下,如果深色模式已关闭或未关闭。还有一件事,我没有在 res/values 中找到 styles.xml,并且项目/应用程序中也有类似 res(generated) 之类的东西,这些是我在任何项目中都找不到的东西......
价值观/主题的屏幕截图。
应用程序在灯光模式下的屏幕截图。
暗模式下的应用截图。
项目的屏幕截图(其中有些东西我在任何项目中都找不到,styles.xml 也不存在)。
如果您想了解更多信息来解决此问题,请发表评论。
请帮忙
解决方案
您已用作Theme.MaterialComponents.DayNight.DarkActionBar
应用主题父级,将其更改为Theme.MaterialComponents.Light.DarkActionBar
会将您的应用更改为轻主题:
<style name="Theme.Calculator" parent="Theme.MaterialComponents.Light.DarkActionBar">
...
在您AndroidManifest.xml
的 Android Studio 工作区的 manifests 文件夹中,请确保您引用了Theme.Calculator主题。
<application ... android:theme="@style/Theme.Calculator" ...>
您应该考虑离开基于“DayNight”的主题并将 a 添加colors.xml
到您的res/values-night
文件夹中。这将允许您为深色主题定义替代颜色,然后您的应用在深色和浅色主题中看起来都很棒。
在https://developer.android.com/guide/topics/ui/look-and-feel/themes了解有关样式和主题的更多信息。
推荐阅读
- reactjs - ReactJS,Formik - 验证字段,将值与另一个进行比较
- sql-server - 附件文件无效 - SQL Server 2014
- vim - 在可视模式下运行过滤器 (!) 命令
- c# - Why is vbs able to find the INSTALLLOCATION when C# using both DTF and MSI API cannot?
- reactjs - 在反应钩子上设置事件处理程序(useEffect)
- graphql - 如何在 Hot Chocolate 中拆分查询类型的解析器
- python - Python:根据票证状态删除文件夹
- c++ - 尝试使用 C++ 中的向量编写 bin 排序。没有得到想要的输出
- excel - 文本框没有正确触发用户表单中的多个条件查找?
- vue.js - 在 Nuxt Js 项目中构建生产项目后,元素 UI 无法正常工作