Xamarin.Forms 双屏
Microsoft Surface Duo 等双屏设备有助于实现新的应用程序用户体验。 Xamarin.Forms 包含 TwoPaneView
和 DualScreenInfo
类,以便你可为这些双屏设备开发应用。
开始使用
请按照以下步骤将双屏功能添加到 Xamarin.Forms 应用:
为解决方案打开“NuGet 包管理器”对话框。
在“浏览”选项卡下,搜索
Xamarin.Forms.DualScreen
。将
Xamarin.Forms.DualScreen
包安装到你的解决方案中。在
OnCreate
事件中,将以下初始化方法调用添加到 Android 项目的MainActivity
类:Xamarin.Forms.DualScreen.DualScreenService.Init(this);
必须采用此方法,应用才能检测到应用状态中的更改(例如横跨两个屏幕的更改)。
更新 Android 项目的
MainActivity
类上的Activity
属性,使其包括所有的ConfigurationChanges
选项:ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.UiMode
必须有这些值才能更可靠地报告配置更改和范围状态。 默认情况下,只有两个值会添加到 Xamarin.Forms 项目中,因此请记住添加 rest 以获得可靠的双屏支持。
疑难解答
如果 DualScreenInfo
类或 TwoPaneView
布局未按预期工作,请仔细检查此页面上的设置说明。 省略或错误地配置 Init
方法或 ConfigurationChanges
属性值是导致错误的常见原因。
查看 Xamarin.Forms 双屏示例,了解更多指南和参考实现。
后续步骤
添加 NuGet 后,请按照以下指南将双屏功能添加到应用中:
- 双屏设计模式 - 在考虑如何以最佳方式在双屏设备上使用多个屏幕时,请参考该模式指南,查找最适合你的应用程序界面的设置。
- TwoPaneView 布局 - Xamarin.Forms
TwoPaneView
类是一种针对双屏设备进行优化的跨平台布局,设计灵感源自 UWP 控件。 - DualScreenInfo 帮助程序类 -
DualScreenInfo
类可用于确定你的视图位于哪个窗格中、视图的大小如何、设备的放置方向如何,以及铰链的角度等等。 - 双屏触发器 -
Xamarin.Forms.DualScreen
命名空间包含两个状态触发器,它们在附加布局的视图模式或窗口发生改变时触发VisualState
更改。
有关详细信息,请参阅双屏开发人员文档。