Как я могу добавить TextView ниже MapView? - PullRequest
2 голосов
/ 10 ноября 2010

Я следовал Здравствуйте, Google Map View , и теперь я хочу добавить TextView ниже MapView. Я только изменил файл макета main.xml и поместил MapView и TextView в вертикальное 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 ]

5 голосов
/ 10 ноября 2010

Проблема в том, что вы используете android:layout_height="fill_parent" в своем MapView.

Я не получаю, если вы хотите:

  • TextView над картой
  • Сократите MapView, чтобы оставить место для TextView

В первом случае используйте <RelativeLayout> вместо <LinearLayout> и играйте с android:layout_alignParentBottom="true" для TextView.

Во втором случае используйте android:layout_weight. У меня нет открытого затмения, но достаточно поставить android:layout_weight="1" на TextView.

5 голосов
/ 10 ноября 2010

Возможно, вы захотите попробовать 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

2 голосов
/ 28 марта 2011

Только комбинация

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

и

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

работал на меня.

...