Xamarin.Forms を介してメイン ページに GoogleMaps があるアプリを作成しています。アプリを Google マップ アプリのように見せたい:
ステータスバーの下に表示するようなものです。iPhone Xでは簡単でした。ただし、Android の場合は機能しません。
私のアプリは次のようになります。
そして今、面白い部分です。私は Xamarin Shell を使用しています。Flyout メニューを開くと、次のようになります。
そのため、フライアウト メニューはステータス バーの下に表示されますが、マップは表示されません。これがマップナゲットの問題かどうか考えていますか? マップを表示するために、この 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>
多くの感謝と幸せなコーディング