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创建移动应用程序”一书中了解更多相关信息