安卓系统在深色模式下覆盖了明亮颜色。Xamarin.Forms

3
我的一个应用的用户要求添加深色模式功能。该应用使用Xamarin.Form (v.5)开发。因此,我已经在应用中实现了控制切换深色模式/浅色模式的功能。
因此,该应用可以处于深色模式或浅色模式,但Android手机也可以处于深色模式或浅色模式。那么,我们有四种可能性:
1. 手机使用浅色模式 / 应用程序使用浅色模式 2. 手机使用深色模式 / 应用程序使用深色模式 3. 手机使用浅色模式 / 应用程序使用深色模式 4. 手机使用深色模式 / 应用程序使用浅色模式
前三种情况都能正常工作。但是最后一种情况无法正常工作。(iOS 可以处理这四种情况而没有问题)
我将背景设置为黄色进行调试,发现背景确实是黄色的,但Android却使用了更暗的黄色版本。就好像Android自动添加了滤镜或改变了背景的透明度。
因此,我进行了更多的测试,发现如果您的手机处于深色模式,则Android系统会自动使亮色变暗,如果这些亮色在太大的表面上使用。在深色模式下,您可以有一个白色或黄色的按钮,但您不能有一个白色或黄色的背景。

这里是一些屏幕截图

enter image description here

enter image description here

enter image description here

enter image description here

颜色模式的实现如下:

enter image description here

enter image description here

所以我的问题是:我们能否禁用这种行为,使得即使手机使用暗模式,明亮的颜色仍然保持明亮?

我在ContentPage中使用了这段代码 BackgroundColor="{AppThemeBinding Light=yellow, Dark=white}",但是当Android设备处于暗模式且应用程序处于亮模式时,我无法重现您的问题。 - Cherry Bu - MSFT
@CherryBu-MSFT,你的背景色是否像第一张截图中的明亮黄色? - Syl.H
1个回答

4
我已在不同设备上进行了测试,发现这种情况只会出现在小米(和可能类似品牌)上。当您启用暗模式时,会出现一个新菜单:“更多暗模式选项”。在那里,您可以关闭“自动调整文本和背景”以解决问题。(请参见截图)
据我所知,在Xamarin中我无法控制这些额外的设置,因此大多数用户不会受到影响,我将继续使用我的代码,并添加额外的注释,以防一些用户遇到类似的问题。
谢谢

enter image description here enter image description here


这正是我所经历的。我只是想知道为什么一些应用程序(通常是知名的应用程序)默认情况下未选中。也许可以通过AndroidManifest或其他方式来控制这个开关? - Ali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接