如何调整图像Xamarin Forms的"内部"标签

6 c# xaml xamarin.forms

我试图在我的图像中放置一个标签,我无法使用Margin属性,因为某些原因它不起作用,直到现在我有这个:在此输入图像描述

我想要的是这个:

在此输入图像描述

XAML:

  <StackLayout Orientation="Vertical">
    <Label HorizontalOptions="Center" Text="something" TextColor="Black"/>
    <Image HorizontalOptions="Center" Source="spin.png"/>
 </StackLayout>
Run Code Online (Sandbox Code Playgroud)

hva*_*an3 16

你需要一个Grid而不是一个StackLayout(注意同一行和列中的Label和它们Image是如何):

<Grid HorizontalOptions="Center"
      VerticalOptions="Center">
  <Grid.RowDefinitions>
    <RowDefinition Height="*"/>
  </Grid.RowDefinitions>

  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"/>
  </Grid.ColumnDefinitions>

  <Image HorizontalOptions="Center"
         Source="spin.png"
         Grid.Row="0"
         Grid.Column="0"/>
  <Label HorizontalOptions="Center"
         Text="something"
         TextColor="Black"
         Grid.Row="0"
         Grid.Column="0"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

因为Label它列在Image上面的XAML代码下面,所以Label将在上面绘制Image.

你也可以使用a AbsoluteLayout,这是另一种擅长分层的布局.