«Инкапсулирование» карты в FrameLayout в приложении для Android - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь создать вертикальный LinearLayout элементов следующим образом: текстовое представление (вес 0,05) карта (вес 0,85) горизонтальная компоновка поля редактирования и кнопки

Пока все выглядит нормально,но теперь я пытаюсь поместить карту в FrameLayout, чтобы добавить к ней дочерние виды, но когда я это делаю, карта больше не появляется.Кто-нибудь может помочь?

Мой файл layout.xml находится ниже:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1"
android:id="@+id/tlll"
>
<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".05"
    android:background="#000000"
    android:text="UK Map"
    android:textColor="#ffffff"
    android:gravity="center"/>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/frlayout"
    android:layout_weight=".85"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    >

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="0dp"
        android:layout_height="0dp"
        tools:context=".MapShow" />

</FrameLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".10"
    android:background="#004D79"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/addressText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="7dp"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:text="Enter address">
    </EditText>

    <Button
        android:id="@+id/findButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:padding="5dp"
        android:text="Find">
    </Button>
</LinearLayout>

Веса выглядят хорошо, и, похоже, проблема с высотой макета иширина, но я не вижу, что не так.

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Вы можете достичь этого с помощью RelativeLayout

<?xml version="1.0" encoding="utf-8"?>

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

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.MapsActivity" />

<RelativeLayout
    android:id="@+id/relLayout1"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:background="@drawable/border_black"
    android:layout_marginLeft="1dp"
    android:layout_marginRight="1dp"
    android:elevation="10dp">

    <ImageView
        android:id="@+id/ic_magnify"
        android:layout_width="18dp"
        android:layout_height="18dp"
        android:layout_centerVertical="true"
        android:layout_marginRight="16dp"
        android:layout_marginLeft="10dp"
        android:src="@drawable/ic_magnify" />

    <AutoCompleteTextView
        android:id="@+id/input_search"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/ic_magnify"
        android:background="@null"
        android:hint="Enter Address, City or Zip Code"
        android:imeOptions="actionSearch"
        android:textColor="#000"
        android:textSize="15sp" />


    <ImageView
        android:id="@+id/ic_gps"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_centerVertical="true"
        android:layout_marginRight="16dp"
        android:layout_toLeftOf="@+id/map_location_db"
        android:src="@drawable/ic_pin" />


    <ImageView
        android:id="@+id/map_location_db"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="16dp"
        android:src="@drawable/ic_datebase" />

</RelativeLayout>

<ImageView
   android:visibility="gone"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_below="@id/relLayout1"
    android:layout_alignParentRight="true"
    android:layout_marginTop="10dp"
    android:layout_marginRight="10dp"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_gps" />

<ImageView
    android:visibility="gone"
    android:id="@+id/place_picker"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_below="@+id/relLayout1"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="15dp"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_map" />

<ImageView
    android:visibility="gone"
    android:id="@+id/place_info"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_below="@+id/place_picker"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="15dp"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_info" />

0 голосов
/ 22 декабря 2018

Ширина и высота вашего фрагмента равны нулю.Попробуйте увеличить их.

...