我正在使用Xamarin Forms编写我的应用程序。我想在我的地图上方添加一个按钮(图中的红色圆圈(来打开另一个页面:转到图像
这是我在xaml页面上写的代码:
<ContentPage.ToolbarItems>
<ToolbarItem Icon="search.png" Clicked="SearchClicked" />
</ContentPage.ToolbarItems>
<ContentView Content="{Binding Map}" ></ContentView>
你能帮我吗?谢谢
要在页面内容上定位按钮,我会查看AbsoluteLayout。您应该能够在XAML中执行以下操作。
<AbsoluteLayout>
<ContentView Content="{Binding Map}"
AbsoluteLayout.LayoutBounds="0,0,1,1"
AbsoluteLayout.LayoutFlags="All"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand" />
<Button AbsoluteLayout.LayoutBounds="0, 1, AutoSize, AutoSize"
AbsoluteLayout.LayoutFlags="PositionProportional"
HeightRequest="50"
WidthRequest="50"
CornerRadius="25" />
</AbsoluteLayout>
这是未经测试的,可能需要一些调整,但应该会给你一些基础。
假设您使用的是Xamarin.Forms.Maps
,您可以实现以下(或类似(:
<Grid
VerticalOptions="FillAndExpand">
<map:Map
IsShowingUser="True"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
MapType="Hybrid"/>
<AbsoluteLayout
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand">
<!-- Insert your circle control below. Using BoxView as example -->
<BoxView
AbsoluteLayout.AbsoluteBounds="0.1, 0.9, 20, 20"
AbsoluteLayout.AbsoluteFlags="PositionProportional"
BackgroundColor="Red">
<BoxView.GestureRecognizer>
<TapGestureRecognizer
Tapped="OnCircleTap"/> <!-- Replace with your event -->
</BoxView.GestureRecognizer/>
</BoxView>
</AbsoluteLayout>
</Grid>