4

我正在尝试向我的谷歌地图添加一个覆盖,该地图固定在屏幕中央,以便用户可以使用它来精细选择一个位置。

目前,下面的代码绘制了一个带有居中十字准线图像的地图视图,但由于按钮位于地图视图下方,地图的中心发生了变化,并且十字准线不再代表地图的中心点,该中心点已向上移动了按钮的高度。

我看过Android - 在我的谷歌地图中心显示一个十字准线,但它似乎只适用于 v1 :(

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/locationpicker_map"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_above="@+id/locationpicker_add_venue"
     android:clickable="true" 
     android:layout_weight="1"
     class="com.google.android.gms.maps.SupportMapFragment"/>
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/crosshairs"
            android:layout_gravity="center_vertical"
            android:layout_centerInParent="true"/>
        <Button 
        android:id="@+id/locationpicker_add_venue" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text = "Add new venue here"
        android:layout_alignParentBottom="true"/>
</RelativeLayout>
4

1 回答 1

4

为了达到这个效果,我使用了一个围绕地图片段的相对布局,其中一个 imageview 居中。示例见下文;

以安卓谷歌地图为中心的十字准线

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/locationpicker_map"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:clickable="true" 
     android:layout_weight="1"
     class="com.google.android.gms.maps.SupportMapFragment"/>
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/crosshairs"
            android:layout_gravity="center_vertical"
            android:layout_centerInParent="true"/>
        <Button 
        android:id="@+id/locationpicker_add_venue" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "Add new venue here"
        style="@style/Buttonpurple_style"
        android:layout_gravity="center"
        android:layout_centerHorizontal="true" 
        android:layout_alignParentBottom="true"
        />
</RelativeLayout>
于 2014-06-05T11:53:46.613 回答