0

我正在创建一个应用程序,其中将通过 Xamarin.Forms 在主页上显示 GoogleMaps。我希望应用看起来像 Google 地图应用:
状态栏下的谷歌地图

所以像在状态栏下显示的东西。在 iPhone X 上,这很容易。但是对于Android,它不起作用。
我的应用现在看起来像这样:
我的应用现在的样子

现在有趣的部分。我正在使用 Xamarin Shell,当我打开 Flyout 菜单时,它看起来像这样:
Flyout 显示在状态栏下

所以我的弹出菜单显示在状态栏下,但地图没有。我在想这是否是map nuget的问题?我正在使用这个 GoogleMaps nuget 来显示地图:amay077/Xamarin.Forms.GoogleMaps

或者也许这是我的 xaml 结构的问题。

简化的 xaml 代码:

<ContentPage>
    <!-- Absolute layout for positioning Map under Grid with buttons -->
    <AbsoluteLayout
        HorizontalOptions="CenterAndExpand"
        VerticalOptions="CenterAndExpand"
        >
        <!-- Grid with buttons -->
        <Grid
            AbsoluteLayout.LayoutBounds="0,0,1,1"
            AbsoluteLayout.LayoutFlags="All">
            <Grid.RowDefinitions>
                <RowDefinition Height="{Binding TopInset}" /> <!--This works for iPhone X in viewmodel i am getting some padding like "safe area" -->
                <RowDefinition Height="50" />
                <RowDefinition Height="*" />
                <RowDefinition Height="50" />
                <RowDefinition Height="50" />
                <RowDefinition Height="50" />
                <RowDefinition Height="100" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="10" />
                <ColumnDefinition Width="50" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="50" />
                <ColumnDefinition Width="10" />
            </Grid.ColumnDefinitions>

            <!-- Map control -->
            <maps:Map
                Grid.RowSpan="7"
                Grid.ColumnSpan="5"
                AbsoluteLayout.LayoutFlags="All"
                AbsoluteLayout.LayoutBounds="0,0,1,1">
            </maps:Map>

            <!-- Example of button in grid -->
            <Button
                Text="TEST"
                TextColor="#fff"
                FontSize="20"
                VerticalOptions="Center"
                HorizontalOptions="Center"
                BackgroundColor="#78c004"
                Grid.Row="1"
                Grid.Column="2"
                InputTransparent="False"
                Visual="Material"
            />
        </Grid>
    </AbsoluteLayout>
</ContentPage>   

非常感谢和快乐编码

4

0 回答 0