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