Xamarin在底部形成相对布局位置stacklayout

时间:2017-03-21 06:31:56

标签: xaml xamarin xamarin.forms uwp-xaml xamarin.uwp

我想使用仅使用xaml的Xamarin表单使用相对布局将Stacklayout放置在图像顶部的底部。 xaml看起来很像这样。

<RelativeLayout>
    <Image />
    <StackLayout Orientation="Horizontal">
        <Label Text="Dark Mode" />
        <Switch />
        <Label Text="Light Mode" />
    </StackLayout>
</RelativeLayout>

我的StackLayout应该具有什么X和Y约束,以便它位于图像的顶部和底部。还添加了一个描述我期望的结果的图像。

预期: RelativeLayout

我确实尝试将 RelativeLayout.XConstraints RelativeLayout.YConstraints 同时提供给图像和stacklayout,但无法确定要使用哪些值来获取期望的结果。

1 个答案:

答案 0 :(得分:3)

您可以在整个图片中放置一个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>