如何在Xamarin.form中更改自定义地图的大小?

时间:2017-10-12 07:43:56

标签: xamarin xamarin.forms

我正在处理此示例Click here

我发现地图显示的是App.ScreenWidth和App.ScreenHeight。这是我的下面的xaml代码:

y

如何将App.screenheight设置为其高度的1/2?

4 个答案:

答案 0 :(得分:2)

如果您希望地图覆盖应用屏幕的一半,只需使用employee_id系统。

代码如下所示:

Grid

因此,通过向网格中添加2行,每个相等的高度将保证屏幕被分成两半,并且通过将地图放在第一行中,它的高度也会保持在屏幕的一半。

答案 1 :(得分:0)

最方便的可能是使用AbsoluteLayoutRelativeLayout。我将使用AbsoluteLayout显示如何使用它,因为这是我经常使用的

<ContentPage.Content>
  <AbsoluteLayout VerticalOptions="Fill" HorizontalOptions="Fill">
    <local:CustomMap [...]
      AbsoluteLayout.LayoutFlags="All"
      AbsoluteLayout.LayoutBounds="0,0,1,.5" />
  </AbsoluteLayout>
</ContentPage.Content>

使用VerticalOptions="Fill"HorizontalOptions=Fill,您告诉AbsoluteLayout获取ContentPage中的所有可用空间。 AbsoluteLayout.LayoutFlags="All"是附加属性,告知您CustomMap AbsoluteLayout中的定位应该是相对的。最后,您告诉CustomMap它应该位于(0,0),使用AbsoluteLayout.LayoutBounds="0,0,1,.5"获取while宽度和半高。

答案 2 :(得分:0)

我们无法在XAML中进行计算,因此您可以使用代码隐藏方法。

以下是一些简单计算的示例代码:

 public class MapPageCS : ContentPage
    {
      public MapPageCS ()
      {
        var customMap = new CustomMap {
          MapType = MapType.Street,
          WidthRequest = App.ScreenWidth /2,
          HeightRequest = App.ScreenHeight/2
        };
        ...

        Content = customMap;
      }
    }

答案 3 :(得分:0)

your_variable = BeautfilSoup(requests.text, features="xml" )

如果要在文件fx后面的代码中动态更改地图高度。就我而言,在打开和关闭底部工作表的情况下,还必须重新设置宽度,以便在iOS上调整其大小。