我已经阅读了相关文档,但却无法理解。我有这个代码
<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>
我正在尝试将一些文本显示在图像上,该图像占据主要细节导航中的详细页面的全宽但不是全高。我尝试改变常数/因子,但我不知道它做了什么,每次结果都没有显示我的预期。有人可以解释常数和因素的作用吗?就像一个例子,如果我为X约束设置因子为1,它会做什么?将宽度设为原始宽度还是填充整个宽度?
沮丧而不理解它究竟做了什么。请帮忙:(
答案 0 :(得分:1)
类型是您所关注的定位或尺寸。它可以是RelativeToParent或RelativeToView。如果view使用ElementName来说出哪个视图。
属性是您尝试在控件上设置的属性。您可以设置宽度或高度或X坐标。
因子是您要使用的父级或视图的百分比。如果父级是500像素且因子是0.5,那么您将设置值250。
常量允许您使用因子更改计算的值。如果将Constant设置为-100,那么我们之前计算的值现在将为150。
说完这一切之后,使用网格定位图像和标签会容易得多。
将图像和标签放在同一网格行中,然后使用水平和垂直选项将标签定位在行内。使用保证金稍微上下移动标签。