Xamarin.Forms WidthRequest值的含义

在Xamarin.Forms中,以下属性获得双重:WidthRequest,HeightRequest,Padding,Spacing等。这个数字的含义是什么? 是像素还是其他什么? 我在这些属性中放置的值是否响应设备屏幕大小? 考虑到可用的许多屏幕尺寸,我应该如何决定应该使用什么价值?

我还尝试打印一些元素的宽度,结果得到-1。 为什么?

谢谢是提前,或者

Xamarin.Forms的理念是尽可能地使用底层平台的约定。 根据这一理念,Xamarin.Forms程序员可以使用每个特定平台定义的大小。 程序员通过Xamarin.Forms API遇到的所有大小都在这些特定于平台的设备独立单元中。(c)

在Xamarin Forms中,这些数字与特定平台上的英寸厘米之间存在关系。 见下文:

这些是英寸的关系

  • iOS:160英寸单位
  • Android:160英寸单位
  • Windows Phone:240英寸单位

如果您更喜欢公制系统,则这些是以厘米为单位的关系

  • iOS:64厘米到厘米
  • Android:64个单位到厘米
  • Windows Phone:96个单位到厘米

例如,如果您希望显示宽度为1英寸,高度为2英寸的图像,您可以执行以下操作:

var avatar = new Image{ WidthRequest = Device.OnPlatform(160, 160, 240), HeightRequest = Device.OnPlatform(320, 320, 480) }; 

相同的概念适用于间距和填充。 这些参数也具有默认值。 初始设置为-1的“模拟”值。 只有在布局系统定位并调整页面上的所有内容时,这些属性的值才有效。

希望这可以帮助!

您可以从“使用Xamarin Forms创建移动应用程序”一书中了解更多相关信息