如何根据屏幕宽度或方向自定义Xamarin.Forms应用程序?

时间:2018-09-01 11:46:15

标签: xamarin xamarin.forms

我有一个使用Xamarin.Forms的应用程序。我想对水平(或宽屏平板电脑垂直)使用不同的网格布局。我知道如何使用视图模型,以及如何具有两个可见且另一个不可见的网格。

但是如何从应用程序内部确定一些基本尺寸,分隔类型或方向?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Xamarin.Essentials,它将使您获得所有这些属性(方向,旋转,密度,宽度和高度)

要安装Nuget软件包Xamarin.Essentials,请首先选中以下复选框:包括预发行版本。

添加到隐藏代码中:

using Xamarin.Essentials;

那之后..

var metrics = DeviceDisplay.ScreenMetrics;
// Orientation (Landscape, Portrait, Square, Unknown)
var orientation = metrics.Orientation;
// Rotation (0, 90, 180, 270)
var rotation = metrics.Rotation;
// Width (in pixels)
var width = metrics.Width;
// Height (in pixels)
var height = metrics.Height;
// Screen density
var density = metrics.Density;

据我所知,Height为您提供页面的可用高度,即减去顶部任何菜单的高度后的高度。

此处的更多信息:https://docs.microsoft.com/en-us/xamarin/essentials/?context=xamarin/xamarin-forms