如何在Xamarin.Forms中实现设置用户界面?

4

在iOS开发中,最佳实践是实现一个设置捆绑包,以便用户可以从iOS设置应用程序中访问您的应用程序设置。然而,这是iOS中独特的概念。那么,如果您想要实现一个设置UI,在Xamarin.Forms中应该如何操作才能获得iOS的设置捆绑包,并且仍然具有一些其他平台可用的设置视图呢?

3个回答

4
请使用此插件:https://github.com/jamesmontemagno/SettingsPlugin 更新:请使用https://learn.microsoft.com/en-us/xamarin/essentials/preferences(Xamarin.Essentials取代了James Montemagno最初组合的许多伟大的跨平台工具)
该插件提供了一个跨平台API来处理设置。它将在iOS上将您的设置存储在plist中。
至于通过简单引用plist构建设置UI(就像iOS原生一样),在Forms中并不是真正存在的事情。在Forms中,您需要使用Forms API实现自己的自定义设置页面。Forms有一个TableView UI元素,您可以在其中设置Intent属性。 Intent可以设置为DataFormMenuSettings的值。您可以使用Settings值来指示您希望TableView类似于iOS设置屏幕。然后,只需将每个TableView项目绑定到您的设置类即可。

2

由于设置包是一个非常特定于iOS的功能,因此在iOS项目中实现它是唯一的方法。

然后我会创建一个ISettings接口来获取特定的设置。在iOS中创建一个类,在这个包中获取/设置设置,并使用依赖注入。

然后为Android和WinPhone实现其他内容。您应该能够创建一个共享页面,但Set和Get方法将根据每个平台而切换。


常见的共享表单页面能否被制作成类似于Android和iOS本地设置页面的样式,或者最好还是在本地平台特定的项目中创建这些页面呢? - galdin

1

表单提供了几种按平台自定义行为的方法。您可以使用Device.OSDevice.OnPlatform()来创建行为(例如,主菜单上的设置选项),这些行为存在于Windows和Android上,但在iOS上不存在(而是让用户使用设置捆绑包)。


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