我想使用仅使用xaml的Xamarin表单的相对布局,将Stacklayout放置在图像顶部的底部。 xaml几乎是这样的。
<RelativeLayout>
<Image />
<StackLayout Orientation="Horizontal">
<Label Text="Dark Mode" />
<Switch />
<Label Text="Light Mode" />
</StackLayout>
</RelativeLayout>
我的StackLayout应该具有什么X和Y约束,以便它位于图像的顶部和底部。还添加了描述我期望的结果的图像。
预期的:
我确实尝试将 RelativeLayout.XConstraints 和 RelativeLayout.YConstraints 都赋予图像和stacklayout,但无法弄清楚要使用什么值来获得期望的结果。
最佳答案
您可以在整个图片上使用一个StackLayout,并在其中放置另一个StackLayout,将其放置在底部:
<RelativeLayout>
<Image Aspect="AspectFill"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width}"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height}"/>
<StackLayout
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width}"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height}">
<StackLayout Orientation="Horizontal" VerticalOptions="EndAndExpand" HorizontalOptions="Center">
<Label Text="Dark Mode" />
<Switch />
<Label Text="Light Mode" />
<StackLayout>
</StackLayout>