Umaima Khurshid Ahmad
Umaima Khurshid Ahmad

Reputation: 17

TextView Bar over Google Map

I am trying to implement a screen with a map and on top on the map it should have a textbar displaying text but for some reason my textbar always goes below the google map view. I tried to look up for relateable questions but no success with their answers. The picture is attached below to give some more gudience. Code is below.

<?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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingStart="20dp"
android:paddingEnd="20dp">
<com.google.android.gms.maps.MapView
    android:id="@+id/map"
    android:elevation="10dp"
    android:layout_below="@+id/tv_treatment_id"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/tv_rateDoctor"
    >

</com.google.android.gms.maps.MapView>
<include
    android:id="@+id/toolbar"
    layout="@layout/menu_top_header"
    android:layout_width="match_parent"
    android:layout_height="@dimen/custom_toolbar_height"
    />

<TextView
    android:id="@+id/tv_treatment_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/toolbar"
    android:layout_marginBottom="20dp"
    android:layout_centerHorizontal="true"
    android:text="Treatment ID: 222-X-F"
    android:textSize="@dimen/font_label" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tv_information"
    android:gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_alignTop="@+id/map"
    android:orientation="horizontal"
    android:background="@color/colorTextGrey"
    >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_sent_info"
        android:padding="20dp"
        android:text="Your Treatment has been sent to the following lab"/>

</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:padding="20dp"
    android:id="@+id/tv_rateDoctor">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/rate_doctor"
        android:textSize="@dimen/font_input"
        android:fontFamily="@font/lato_bold"
        />
    <ImageView
        android:layout_marginStart="5dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        app:srcCompat="@drawable/ic_arrow_right"
        android:layout_marginLeft="30dp" />
</LinearLayout>

Image of desirable output

Upvotes: 0

Views: 131

Answers (2)

Peter Arcentales
Peter Arcentales

Reputation: 306

Try the next layout. If you want to display something in front then you must put it at last in the layout.

EDIT

Try this code instead. I´m using it in a personal project and show buttons in front of the map. But of course im using a SupportMapFragment, maybe you can try using it too.

 <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

        <fragment
            android:id="@+id/map"  
            class="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="250dp"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top|end"
            android:gravity="top">
            <!-- Put any TextView, Imageview, Button, etc inside -->
        <LinearLayout/>
</FrameLayout>

Hope it helps!

Upvotes: 1

Gast&#243;n Saill&#233;n
Gast&#243;n Saill&#233;n

Reputation: 13129

try using this in your textView

android:layout_alignParentTop="true"

layout_alignParentTop

If true, makes the top edge of this view match the top edge of the parent. Accommodates top margin.

May be a boolean value, such as "true" or "false".

You can also try using

android:layout_alignTop which Makes the top edge of this view match the top edge of the given anchor view ID. Accommodates top margin.

Upvotes: 0

Related Questions