如何在MapView下面添加TextView?

时间:2010-11-10 11:15:02

标签: android layout android-mapview android-linearlayout

我关注Hello Views, Google Map View,现在我想在TextView下方添加MapView。我只更改了布局文件main.xml,并将MapViewTextView放在垂直LinearLayout中。我的Eclipse设置为自动构建,但是当我在模拟器中运行应用程序时,我只能看到MapView

如何在TextView下面添加MapView

这是我的布局main.xml

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

    <com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"
        android:apiKey="my key"
    />

    <TextView
        android:id="@+id/textview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="My TextView"
    />

</LinearLayout>

3 个答案:

答案 0 :(得分:5)

您可能想尝试像RelativeLayout一样:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:id="@+id/MyTextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello"
        android:layout_alignParentBottom="true" />
    <com.google.android.maps.MapView
        android:id="@+id/map"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:apiKey="Your api key"
        android:enabled="true"
        android:clickable="true"
        android:layout_above="@+id/MyTextView"" />
</RelativeLayout>

我无法让MapViews与LinearLayouts一起使用

答案 1 :(得分:5)

您遇到的问题是您在android:layout_height="fill_parent"中使用MapView

如果你愿意,我不会得到:

  • TextView要在地图上
  • 缩小MapView以留出TextView
  • 的空间

在第一种情况下,使用<RelativeLayout>代替<LinearLayout>,并使用android:layout_alignParentBottom="true"的{​​{1}}。

在第二种情况下,使用TextView。我没有打开eclipse,但将android:layout_weight放到android:layout_weight="1"就足够了。

答案 2 :(得分:2)

的组合

<TextView android:layout_alignParentBottom="true" ... />

<com.google.android.maps.MapView android:layout_above="@+id/MyTextView" ... />

为我工作。