Фоновое изображение Xamarin Forms не отображается на Android и неправильно масштабируется на iOS - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь установить свое изображение в качестве фона для моего приложения, используя BackgroundImage = "background.jpg", но я никак не могу масштабировать его для того, чтобы вписать все изображение в приложение, а также, это не отображается на Android.Вот код и фоновое изображение:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage Padding="0, 40, 0, 0" 
             xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             x:Class="RoseySports.Login_Page" 
             BackgroundImage="Background.jpg">


        <StackLayout HorizontalOptions="Center" VerticalOptions="Center">

        <Label Text="Email" HorizontalOptions="Center"/>
        <Entry Keyboard="Email" WidthRequest="300" x:Name="email"/>


                <Label Text="Password" HorizontalOptions="Center"/>
                <Entry IsPassword="true" WidthRequest="300" x:Name="password"/>

            <Button Text="Login" x:Name="login" Clicked="Handle_Clicked" TextColor="Navy"/>

    </StackLayout>
</ContentPage>

background.jpg ios adroid

Ответы [ 2 ]

0 голосов
/ 14 июня 2018

1.Чтобы использовать свойство BackgroundImage BackgroundImage = "Background.jpg" в IOS, вам необходимо добавить необходимое изображение в каталог ресурсов IOS.Xamarin.Forms НЕ БУДЕТ загружать изображение в свойство BackgroundImage, когда оно находится в папке «Ресурсы», как для версий IOS pre 7. Подробнее о каталоге ресурсов IOS здесь .

2.Вы также можете добиться этого, используя Сетка .

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
    <Grid>
        <Image Aspect="AspectFill" x:Name="BGImageLogin" Source="Background.jpg" />
        <ScrollView>
        <StackLayout >
            <Entry Placeholder="Username"/>
            <Entry Placeholder="Password"
                      IsPassword="True"/>
            <Button Text="Login""/>
        </StackLayout>
        </ScrollView>
    </Grid>
</ContentPage>
0 голосов
/ 21 мая 2018

Получил работу, используя вместо этого:

<?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="RoseySports.Login_Page">  

        <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">

        <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1"
            Source="background.jpg" Aspect="AspectFill"/>

        <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">


        <StackLayout Padding="0, 40, 0, 0" HorizontalOptions="Center" VerticalOptions="Center" Grid.Column="0" Grid.Row="0">

        <Label Text="Email" HorizontalOptions="Center" TextColor="White"/>
        <Entry Keyboard="Email" WidthRequest="300" x:Name="email"/>


                <Label Text="Password" HorizontalOptions="Center" TextColor="White"/>
                <Entry IsPassword="true" WidthRequest="300" x:Name="password"/>

            <Button Text="Login" x:Name="login" Clicked="Handle_Clicked" TextColor="Navy"/>

    </StackLayout>
        </ScrollView>
        </AbsoluteLayout>
</ContentPage>
...