Как переворачивать страницы без изменения фона? - PullRequest
0 голосов
/ 07 января 2020

При запуске приложения в фоновой карте. Логика c вот так. Первая страница - ввод номера и регистрация. Вторая страница - ввод кода из SMS. Я хотел бы, чтобы карта оставалась в фоновом режиме, когда я переключаю страницы (как показано на втором изображении). То есть карта не перезагружается во время навигации.

Разметка первой страницы

<?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:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:map="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
             xmlns:local="clr-namespace:;assembly="
             mc:Ignorable="d"
             x:Class="TaxiCity.MainPage">

    <Grid>

        <map:Map 
            x:Name="GoogleMap"
            MapType="Street"
            HasZoomEnabled="True" 
            IsShowingUser="True">
            <x:Arguments>
                <map:MapSpan>
                    <x:Arguments>
                        <map:Position>
                            <x:Arguments>
                                <x:Double>53.902512</x:Double>
                                <x:Double>27.561481</x:Double>
                            </x:Arguments>
                        </map:Position>
                        <x:Double>0.1</x:Double>
                        <x:Double>0.1</x:Double>
                    </x:Arguments>
                </map:MapSpan>
            </x:Arguments>
        </map:Map>

        <Frame
            VerticalOptions="End"
            x:Name="EnterFrame"
            CornerRadius = "15"
            Padding="25,25,25,25">

            <Grid>
                <Label  
                    Padding="0,0,0,0"
                    Margin="0,0,0,0"
                    Grid.Row="0" 
                    Text="Войти" 
                    FontSize="35" 
                    TextColor="Black">
                </Label>  

                <Frame
                     Grid.Row="1"
                     CornerRadius="25"
                     Padding="0,0,0,0"
                     Margin="0,0,0,0"
                     BorderColor="#ffcc00">

                    <local:EntryTelephone
                      x:Name="NumberEntry"
                      Text="+3 75 "
                      Placeholder="номер телефона"
                      Keyboard="Telephone"
                      CharacterSpacing = "0.8"
                      MaxLength="15"
                      FontSize="30"
                      >
                    </local:EntryTelephone>
                </Frame>

                <Button 
                    Grid.Row="2" 
                    x:Name="EnterButton" 
                    Text="Войти"
                    Clicked="EnterButton_Clicked"
                    FontAttributes="Bold"
                    TextColor="White"
                    Padding="0,0,0,0"
                    Margin="0,0,0,0"
                    BackgroundColor="#ffcc00"
                    CornerRadius="10"
                    FontSize="25"
                    android:Button.UseDefaultPadding="true"
                    android:Button.UseDefaultShadow="true">
                </Button>

            </Grid>
        </Frame>
    </Grid>
</ContentPage>

После нажатия клавиши Enter следующая страница будет иметь такой же размер, как указано на втором изображении. Я думаю, что идея ясна.

Первая страница FirstPage

Вторая страница: SecondPage

...