Android:一个活动的地图大小采用另一个活动的地图大小

时间:2012-08-03 09:53:29

标签: android android-layout android-emulator android-mapview android-maps

在“我的地图”项目中,我有一张地图占据了主要活动中设备的整个屏幕。我在地图上有一些引脚。如果我们按下引脚,它将导致另一个Activity。我有一张地图,其大小是屏幕尺寸的三分之一。如果我们从另一个活动来到主要活动。

主要活动中的地图在另一项活动中采用地图的大小。

我的主要活动xml是 <

?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainlayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true" >

        <EditText
            android:id="@+id/search"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:ems="10" >

            <requestFocus />
        </EditText>

        <Button
            android:id="@+id/submit"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="3"
            android:text="Search" />
    </LinearLayout>



    <com.xxx.yyy.FireMapView
        android:id="@+id/mapview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/linearLayout1"
        android:apiKey="xxxxxxxxxxx"
        android:clickable="true" >
    </com.xxx.yyy.FireMapView>

</RelativeLayout>

我的另一个活动xml是,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/reportentry"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <com.xxx.yyy.FireMapView
        android:id="@+id/mapview1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:layout_weight="3"
        android:apiKey="xxxxxx"
        android:clickable="true" >
    </com.xxx.yyy.FireMapView>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/reportentry1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/a1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/add"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Address" />

            <EditText
                android:id="@+id/address"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ft1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/ft2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="ft" />

            <Spinner
                android:id="@+id/ft3"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/c"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/c1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="C" />

            <EditText
                android:id="@+id/c2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
               />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/p1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/p2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="p" />

            <EditText
                android:id="@+id/p3"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/fc"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/fc1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="fc" />

            <Spinner
                android:id="@+id/fc2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/btn_info"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/cancel"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Cancel" />

            <Button
                android:id="@+id/report"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:text="Report" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

请以正确的方式提供给我......

由于

1 个答案:

答案 0 :(得分:0)

根据docs,android每个进程维护一个mapview实例。因此,您无法在单个进程中维护不同的mapview实例。

如果尺寸只是你的问题,那么回到你的主要活动电话

mapView.getController.zoomIn();

mapView.getController.zoomOut();

在main活动的onRestart()中。

这不是完美的解决方案,但至少它对我有用。

此问题已报告http://code.google.com/p/android/issues/detail?id=3756