Android, как сделать так, чтобы Google MapView существовал только в части экрана - PullRequest
0 голосов
/ 14 ноября 2011

Я пытаюсь использовать объект mapview в своем приложении, но мне нужно одновременно отображать дополнительную информацию.Я хотел бы иметь несколько текстовых видов под картой, но я не могу отобразить вид карты без его расширения на весь экран.Я пробовал как линейное, так и относительное.

Я прилагаю изображение, которое показывает, как нижний 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 голосов
/ 14 ноября 2011

Вы можете использовать свойства 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>
...