Android,如何使谷歌mapview只存在于屏幕的一部分

时间:2011-11-14 14:48:23

标签: android layout textview android-mapview

我正在尝试在我的应用中使用mapview对象,但我需要同时显示其他信息。我想在地图下面有一些文本视图,但如果没有它扩展到整个屏幕,我似乎无法显示mapview。我尝试过linearlayout和relativelayout。

我附上的图片显示底部TextView是如何在“google”徽标上绘制的,并隐藏了部分内容。我想(应该?)显示这个(给予信用到期的信用)。我唯一可以解决的选择是将我的所有文字放在地图的顶部,我有理由不想这样做。

非常感谢任何帮助和/或技巧。

谢谢,

西特

这是我的代码

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

import android.app.Activity;
import android.os.Bundle;

public class maptest extends MapActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(com.isti.sms.R.layout.mapviewtest);
        MapView mv = (MapView)this.findViewById(com.isti.sms.R.id.mapview);

        mv.setBuiltInZoomControls(true);
    }
    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}

xml是

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/topLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:orientation="vertical" >

    <com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/linearLayout1"
        android:layout_below="@+id/LabelArea"
        android:apiKey="my long key"
        android:clickable="true" />
</LinearLayout>

<LinearLayout
    android:id="@+id/LabelArea"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:background="#FFFFFF"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/eventinfo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:padding="5dip"
        android:text="TextView"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="#0000FF" >
    </TextView>
</LinearLayout>

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

    <TextView
        android:id="@+id/hrlegendtx"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="#FFFFFF"
        android:text="1 Hr"
        android:textColor="#0000FF" />
</LinearLayout>

</RelativeLayout>

image showing bottom of map obscured

1 个答案:

答案 0 :(得分:0)

您可以使用LinearLayout和layout_weight属性:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:apiKey="my long key"
        android:layout_weight="1"
        android:clickable="true" />
    <TextView
        android:id="@+id/hrlegendtx"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:background="#FFFFFF"
        android:text="1 Hr"
        android:textColor="#0000FF" />
</LinearLayout>