2017-09-29 56 views
1

我正在構建一個需要mapview和textview以啓用地點/位置選取器的應用程序。它就像「超級」,其中地圖視圖填充整個屏幕,然後用於選擇位置的editext視圖疊加在地圖視圖頂部。問題是我的設計XML文件將textview放置在mapview後面,以便它們被地圖覆蓋並且不可見。我怎麼能這樣做,他們出現在mapview;而mapview仍然覆蓋屏幕高度的100%?我的XML文件如下所示:Place EditText/TextView Over MapView Android

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true"> 
<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:textColor="@color/colorPrimary" 
    android:text="Pickup Location" 
    android:id="@+id/pickup" 
    android:textSize="15sp" 
    /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:textColor="@color/colorPrimary" 
    android:text="Drop Location" 
    android:id="@+id/drop" 
    android:textSize="15sp" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@id/pickup" 
    /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/ride_start" 
    android:layout_margin="10dp" 
    android:textSize="15sp" 
    android:visibility="gone" 
    android:textColor="@color/colorPrimary" 
    android:layout_below="@+id/drop" 
    android:text="Start"/> 
</LinearLayout> 


<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="MainActivity" 

    /> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:id="@+id/info" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:background="#F8CA2B" 
    android:gravity="center_vertical" > 
    <TextView 
     android:id="@+id/totaldistance" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="3dp" 
     android:textColor="#000" /> 

    <View 
     android:layout_width="2dp" 
     android:layout_height="25dp" 
     android:layout_marginLeft="10dp" 
     android:background="#fff" /> 

    <TextView 
     android:id="@+id/cost" 
     android:padding="3dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#000" /> 

</LinearLayout> 

回答

1

集映射fragement第一則相對佈局的覆蓋可能會有所幫助。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:paddingBottom="@dimen/activity_vertical_margin" 
      android:paddingLeft="@dimen/activity_horizontal_margin" 
      android:paddingRight="@dimen/activity_horizontal_margin" 
      android:paddingTop="@dimen/activity_vertical_margin" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"> 


    <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="MainActivity"/> 


<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true"> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:textColor="@color/colorPrimary" 
     android:text="Pickup Location" 
     android:id="@+id/pickup" 
     android:textSize="15sp" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:textColor="@color/colorPrimary" 
     android:text="Drop Location" 
     android:id="@+id/drop" 
     android:textSize="15sp" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@id/pickup" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/ride_start" 
     android:layout_margin="10dp" 
     android:textSize="15sp" 
     android:visibility="gone" 
     android:textColor="@color/colorPrimary" 
     android:layout_below="@+id/drop" 
     android:text="Start"/> 
    </LinearLayout> 

</RelativeLayout> 



<LinearLayout 
    android:layout_width="match_parent" 
    android:id="@+id/info" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:background="#F8CA2B" 
    android:gravity="center_vertical" > 
    <TextView 
     android:id="@+id/totaldistance" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="3dp" 
     android:textColor="#000" /> 

    <View 
     android:layout_width="2dp" 
     android:layout_height="25dp" 
     android:layout_marginLeft="10dp" 
     android:background="#fff" /> 

    <TextView 
     android:id="@+id/cost" 
     android:padding="3dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textColor="#000" /> 

</LinearLayout> 

0

使用以下代碼

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/pickup" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="10dp" 
      android:text="Pickup Location" 
      android:textColor="@color/colorPrimary" 
      android:textSize="15sp" /> 

     <TextView 
      android:id="@+id/drop" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_below="@id/pickup" 
      android:layout_margin="10dp" 
      android:text="Drop Location" 
      android:textColor="@color/colorPrimary" 
      android:textSize="15sp" /> 

     <TextView 
      android:id="@+id/ride_start" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/drop" 
      android:layout_margin="10dp" 
      android:text="Start" 
      android:textColor="@color/colorPrimary" 
      android:textSize="15sp" 
      android:visibility="gone" /> 
    </LinearLayout> 

    <RelativeLayout 
     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="MainActivity" 

      /> 

     <LinearLayout 
      android:id="@+id/info" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/map" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="15dp" 
      android:background="#F8CA2B" 
      android:gravity="center_vertical"> 

      <TextView 
       android:id="@+id/totaldistance" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="3dp" 
       android:textColor="#000" /> 

      <View 
       android:layout_width="2dp" 
       android:layout_height="25dp" 
       android:layout_marginLeft="10dp" 
       android:background="#fff" /> 

      <TextView 
       android:id="@+id/cost" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="3dp" 
       android:textColor="#000" /> 

     </LinearLayout> 
    </RelativeLayout> 
</RelativeLayout> 
+0

感謝YSL我去Vij的回答上面,因爲我第一次看到它。感謝您的時間 – ewom2468

+0

如果您發現我的答案有用,那麼您可以將其標記爲已接受。 – YoLo

0
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:circular="http://schemas.android.com/tools" 
android:id="@+id/content_frame" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 
<FrameLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_below="@+id/content_frame_child"> 
<!--Your map fragment--> 
<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="MainActivity"/> 
<!--Your map fragment ends--> 
</FrameLayout> 
<LinearLayout 
android:layout_width="match_parent" 
android:id="@+id/info" 
android:layout_height="wrap_content" 
android:layout_alignParentBottom="true" 
android:layout_centerHorizontal="true" 
android:background="#F8CA2B" 
android:gravity="center_vertical" > 
<TextView 
    android:id="@+id/totaldistance" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="3dp" 
    android:textColor="#000" /> 
<View 
    android:layout_width="2dp" 
    android:layout_height="25dp" 
    android:layout_marginLeft="10dp" 
    android:background="#fff" /> 

<TextView 
    android:id="@+id/cost" 
    android:padding="3dp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000" /> 
</LinearLayout> 
</FrameLayout> 

使用框架佈局覆蓋