有人可以向我解释 xamarin 形式的约束、因素和常量吗?

Can someone explain to me the constraints, factor and constant in xamarin forms?

我已经阅读了有关它的文档,但就是无法理解。我有这个代码

 <RelativeLayout Padding="0" Margin="0" HorizontalOptions="FillAndExpand" HeightRequest="300" VerticalOptions="Start" BackgroundColor="Green">
            <Image
        Source="infoBox.png" x:Name="infobox"  WidthRequest="400"
    RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, Property=Height,Factor=1,Constant=0}" 
                 RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToView, Property=X, Factor=0.10, Constant=25}"
               />
            <Label Text=":)"
        RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, Property=Y, Constant=5}"
        RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToView, Property=X, Factor=0.10, Constant=25}"
        TextColor="#000000"/>
        </RelativeLayout>

我正在尝试让一些文本显示在图像的顶部,该图像占据了主从导航中详细信息页面的全宽而不是全高。我尝试更改 constant/factor 但我不知道它做了什么,每次结果都不符合我的预期。有人可以解释常数和因子的作用吗?例如,如果我将 x 约束的因子设置为 1,它会做什么?将宽度设为原始宽度还是填满整个宽度?

因为不明白它到底做了什么而感到沮丧。请帮助:(

类型是您定位或调整大小的依据。它可以是 RelativeToParent 或 RelativeToView。如果视图使用 ElementName 来说明哪个视图。

属性 是您要在控件上设置的 属性。您可以设置宽度或高度或 X 坐标。

因子是您要使用的父视图或视图的百分比。如果父级为 500 像素且因子为 0.5,则您设置的值为 250。

Constant 允许您更改使用 Factor 计算的值。如果您将 Constant 设置为 -100,那么我们之前计算的值现在将为 150。

说了这么多,使用网格定位图像和标签会容易得多。

将图像和标签放在同一个网格行中,然后使用水平和垂直选项将标签放置在行内。使用 Margin 将标签稍微上下移动。

Relative layout should be avoided it at all possible as it has a high computational cost according to the father of Xamarin forms Jason Smith.