Xamarin.Forms WidthRequest 值含义

Posted

技术标签:

【中文标题】Xamarin.Forms WidthRequest 值含义【英文标题】:Xamarin.Forms WidthRequest value meaning 【发布时间】:2015-06-30 18:09:08 【问题描述】:

在 Xamarin.Forms 中,以下属性获得双精度:WidthRequest、HeightRequest、Padding、Spacing 等。 这个数字是什么意思?是像素还是别的? 我在这些属性中设置的值是否响应设备屏幕尺寸? 考虑到许多可用的屏幕尺寸,我应该如何决定应该使用什么值?

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

【问题讨论】:

【参考方案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)
;

同样的概念适用于 Spacing 和 Padding。这些参数也有默认值。初始设置是 –1 的“模拟”值。这些属性的值只有在布局系统对页面上的所有内容进行定位和调整后才有效。

希望这会有所帮助!

您可以从名为“使用 Xamarin 表单创建移动应用程序”一书中了解更多信息

【讨论】:

正是我正在寻找的解释。谢谢! :)

以上是关于Xamarin.Forms WidthRequest 值含义的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms 手势密码实现

Xamarin.Forms 和 Xamarin Native 有啥区别? [关闭]

如何使用 Xamarin.Forms.Maps(无 Xamarin.Forms.GoogleMaps)在地图中应用样式或更改颜色

Xamarin Forms Prism:prism ResourceDictionary 中已存在具有键“Xamarin.Forms.NavigationPage”的资源

Xamarin.Forms.Forms.Init(e) Onlaunched 中的 FileNotFoundExeception

如果调用方未使用 Xamarin.Forms,Xamarin 依赖项服务能否正常工作?