如何在 Xamarin.Forms 中强制使用灯光模式?

How to force light mode in Xamarin.Forms?

我的应用 UI 设计为在轻量模式下使用。但是如果 phone 的默认主题是黑暗模式,我的应用程序也会切换到黑暗模式并且 UI 看起来很垃圾。所以我想强制我的应用程序使用灯光模式。我该怎么做?

在我的 app.xaml 文件中,我使用了 UserAppTheme="Light",将内容页面的背景颜色设置为不同的白色(例如 #FFF#F2F3F4),但仍然没有行得通。 我什至尝试在 styles.xml 中应用 <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">。但是如果phone处于深色模式,所有像白色的区域也会变暗。

我在 MIUI 12.

测试过

iOS 更新你的 info.plist:

<key>UIUserInterfaceStyle</key>
<string>Light</string>

Android 将 MainTheme.Base 的样式更改为 DayNight:

<style name="MainTheme.Base" parent="Theme.AppCompat.DayNight.DarkActionBar">

原始答案和来自 James Montemagno blog

的更多详细信息

试试这个 Android

Andriod项目中:

  1. styles.xml文件中<style>元素添加:
    <item name="android:forceDarkAllowed">false</item>
<style name="MainTheme" parent="MainTheme.Base">
  <item name="android:forceDarkAllowed">false</item>
</style>
  1. MainActivity.cs中在OnCreate方法中添加:
    AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightNo
protected override void OnCreate(Bundle savedInstanceState)
{
    AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightNo;
    base.OnCreate(savedInstanceState);
}