Xamarin Form如何删除带有孩子的布局填充?

时间:2019-03-26 05:58:50

标签: xamarin.forms xamarin.android

我是Xamarin形式的初学者。这是我的xaml代码:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:BluePin"
             x:Class="BluePin.MainPage"
             x:Name="MainContentPage">

    <RelativeLayout>
            <Image Source="BG.png" 
                   Aspect="AspectFill"></Image>
    </RelativeLayout>

</ContentPage>

enter image description here

我测试了所有xamarin的布局和控件。请查看图片,布局和控件(图像)之间有红色距离。我该如何消除这个距离并将图像设置为全屏显示?

3 个答案:

答案 0 :(得分:1)

  

将图片设置为全屏

有两种方法可以实现此目的:

1。将图像设置为 ContentPage的背景

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:local="clr-namespace:BluePin"
         x:Class="BluePin.MainPage"
         x:Name="MainContentPage"
         BackgroundImage="BG.png"
         >
</ContentPage>

2。使用 StackLayout

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:local="clr-namespace:BluePin"
         x:Class="BluePin.MainPage"
         x:Name="MainContentPage">

    <StackLayout>
      <Image Source="BG.png" 
           HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" 
           Aspect="Fill" />
    </StackLayout>    
</ContentPage>

答案 1 :(得分:0)

尝试一下:

<ContentPage.Content>
    <RelativeLayout>
         <Image Aspect="AspectFill" Source="BG.png"
                RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent,
                                                                          Property=Height,
                                                                          Factor=1}"
                RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,
                                                                         Property=Width,
                                                                         Factor=1}"/>
    </RelativeLayout>
 </ContentPage.Content>

答案 2 :(得分:0)

如果您只想在整个屏幕上显示图像,则无需定义父级布局,其次是 BAD 性能实践:

您的ContentPage XAML应该是什么样的:

DataSource dataSource = (DataSource) jndiTemplate.lookup("jdbc/springmvc");