微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

强制特定 Xamarin 应用程序的主题

如何解决强制特定 Xamarin 应用程序的主题

在我的 Xamarin 项目 (Xamarin 4.8) 中,有许多结构复杂的页面。还有很多位图资源,专为白色背景等设计。

用户在 iOS 上设置深色主题时,页面外观变得奇怪且无法使用。在 Android 上,应用程序看起来没有任何变化。

现在我没有时间在每个页面上的每个控件上手动设置颜色属性,我想为应用程序(Android 和 iOS 平台)强制实施浅色主题,以便以后有时间重新设计整个应用程序。

In an article 我读到 Xamarin 5 提供了一种方法,将这行代码放入 Application 类中:

App.Current.UserAppTheme = OSAppTheme.Light;

我尝试过这种方式(将项目迁移到 Xamarin 5 并调用代码),但它不起作用。深色主题的 iOS 应用程序看起来无法使用。

在这一点上我有什么选择?是否有一种相对简单的方法可以为 iOS 应用强制实施 Light 主题

解决方法

根据@SushiHangover 和@JackHua-MSFT 的建议,我使用了以下方法并成功(XCode 12.3):

plist.info 中,我应该添加值为 UIUserInterfaceStyle 的键 Light。无论为设备设置了什么主题,这都会为应用强制执行 Light 主题。

我添加到 plist.info 的最终 xml 代码如下所示:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。