Xamarin隐藏了另一个视图时移动了GoogleMap

时间:2017-05-05 15:00:40

标签: android google-maps xamarin

我有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:id="@+id/root"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <fragment
    android:id="@+id/fragment_map"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  <LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true">
    <RelativeLayout
      android:id="@+id/rel_layout_location"
      android:layout_gravity="right"
      android:layout_margin="10dp"
      android:background="@drawable/white_circular_shadow"
      android:layout_width="60dp"
      android:layout_height="60dp">
      <ImageView
        android:background="@drawable/location"
        android:adjustViewBounds="true"
        android:layout_centerInParent="true"
        android:layout_width="20dp"
        android:layout_height="20dp" />
    </RelativeLayout>
    <RelativeLayout
      android:id="@+id/info_window_container"
      android:background="@color/white"
      android:visibility="gone"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
      <TextView
        android:padding="10dp"
        android:id="@+id/textview_title"
        android:text="How you doing"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    </RelativeLayout>
  </LinearLayout>
</RelativeLayout>

我可以访问relativelayout:

relativelayout_info_container = FindViewById<RelativeLayout>(Resource.Id.info_window_container);

一切正常,但是当我试图隐藏相对布局时,地图变得疯狂(这是在MarkerClick内部):

googleMap.MarkerClick += MarkerClick;

然后在MarkerClick里面:

 relativelayout_info_container.Visibility = ViewStates.Gone;

取消动画,取消点击标记功能,将地图移动到第一个位置,缩放显示就像重置一样。

有什么想法吗?如果您需要更多信息,请在评论中告诉我

更新:

我刚刚添加了另一个调用来设置填充到地图,所以它不会模糊googlemap标志并出现同样的问题:

googleMap.SetPadding(0, 0, 0, <some_value>);

地图填充的更改会影响我对标记图标和MarkerClick

中的相机更新所做的更改

1 个答案:

答案 0 :(得分:0)

完全不相关的问题。问题实际上是我的代码的另一部分。我有一个为地图设置动画的ViewTreeObserver。一旦我取消订阅,一切正常;)