平板电脑和桌面应用的布局

Xamarin.Forms 支持支持平台上可用的所有设备类型,因此除了手机外,应用还可以在以下平台上运行:

  • iPads,
  • Android 平板电脑,
  • Windows 平板电脑和台式计算机(运行 Windows 10)。

本页简要讨论:

设备类型

较大的屏幕设备适用于所有受 Xamarin.Forms 支持的平台。

iPads (iOS)

Xamarin.Forms 模板通过将 Info.plist > 设备设置配置为“通用”(这意味着支持 iPhone 和 iPad),自动添加 iPad 支持。

若要提供愉快的启动体验,并确保在所有设备上使用全屏分辨率,应确保提供“特定于 iPad 的启动屏幕”(使用情节提要)。 这可确保应用在 iPad mini、iPad 和 iPad Pro 设备上正确呈现。

在 iOS 9 之前,所有应用都占据了设备的整个屏幕,但某些 iPad 现在可以执行拆分屏幕多任务。 这意味着你的应用可以只占用屏幕一侧的细长列、屏幕宽度的 50% 或整个屏幕。

iPad Split Screen Example

拆分屏幕功能意味着应将应用设计为最小可与 320 像素宽或最大可与 1366 像素宽搭配使用。

Android 平板电脑

Android 生态系统有无数支持的屏幕大小,从小型手机到大型平板电脑。 Xamarin.Forms 可以支持所有屏幕大小,但与其他平台一样,你可能希望调整较大设备的用户界面。

支持许多不同的屏幕分辨率时,可以提供不同大小的本机图像资源来优化用户体验。 请查看 Android 资源文档(特别是为不同屏幕大小创建资源),详细了解如何在 Android 应用项目中构建文件夹和文件名,以在应用中添加优化的图像资源。

Windows 平板电脑和桌面设备

若要支持运行 Windows 的平板电脑和台式计算机,需要使用 Windows UWP 支持,这将生成在 Windows 10 上运行的通用应用。

除了全屏运行,还可以将 Windows 平板电脑和桌面设备上运行的应用调整为任意尺寸。

Windows Split Screen Example

针对平板电脑和桌面设备进行优化

可以根据使用的是手机或平板电脑/桌面设备来调整 Xamarin.Forms 用户界面。 这意味着你可以针对平板电脑和台式计算机等大屏幕设备优化用户体验。

Device.Idiom

可以使用 Device 类更改应用或用户界面的行为。 使用 Device.Idiom 枚举,你可以

if (Device.Idiom == TargetIdiom.Phone)
{
    HeroImage.Source = ImageSource.FromFile("hero.jpg");
} else {
    HeroImage.Source = ImageSource.FromFile("herotablet.jpg");
}

可以扩展此方法,以对各个页面布局进行重大更改,甚至可以在较大的屏幕上呈现完全不同的页面。

利用 FlyoutPage

FlyoutPage 非常适合较大的屏幕,尤其是在使用 UISplitViewController 提供本机 iOS 体验的 iPad 上。

查看此 Xamarin 博客文章,了解如何调整用户界面,以便手机使用一个布局,而更大的屏幕可以使用另一个(与 FlyoutPage)。