无法在iOS上填充BackgroundImage拼贴

时间:2019-02-17 11:24:19

标签: xamarin.forms

我已经在XAML中设置了BackgroundImage:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MyApp.Pages.HomePage"
             BackgroundImage="HomePageBackGround.jpg">

这有效,它设置背景图像。问题是,在IOS上将图像平铺,并且我希望它填充整个屏幕。我怎样才能做到这一点?我已经设置了适当大小的副本(用于IOS的@ 2x和@ 3x以及Android中的各种可绘制文件夹中)-它可以在Android上正常运行,但在IOS上具有平铺行为。

1 个答案:

答案 0 :(得分:1)

尝试使用 RelativeLayout

使用RelativeLayout和约束表达式,我们可以或多或少地获得与Windows XAML的“ Uniform”相同的结果。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="BackGroundImageDemo.StartPage" >
  <RelativeLayout>
    <Image Source="Jupiter.png" Opacity="0.3"
                RelativeLayout.WidthConstraint=
                  "{ConstraintExpression Type=RelativeToParent, Property=Width}"
                RelativeLayout.HeightConstraint=
                  "{ConstraintExpression Type=RelativeToParent, Property=Height}"/>
    <Grid RelativeLayout.WidthConstraint=
              "{ConstraintExpression Type=RelativeToParent, Property=Width}"
            RelativeLayout.HeightConstraint=
              "{ConstraintExpression Type=RelativeToParent, Property=Height}">

      <Label Text="Hello world from XAML" VerticalOptions="Center"
         HorizontalOptions="Center" FontSize="30"/>
    </Grid>
  </RelativeLayout>
</ContentPage>

这里是the article供参考。