如何在顶部(重叠)MapActivity上添加输入对象

时间:2017-09-14 17:24:43

标签: android android-layout

我是Android开发的新手,并且一直在尝试使用地图活动创建测试应用。

我可以将动作栏和地图放在模拟器和手机上。但我正在努力在地图活动中添加一个输入框。

我可以在其他活动上添加这些输入框,但不能在地图上添加。

我需要它像这样:

Map

这是布局代码:

<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="match_parent"
    android:layout_height="match_parent"
    tools:context="in.co.abc.app.abc.MapsActivityHome" />

2 个答案:

答案 0 :(得分:2)

将您的editText放在RelativeLayout(或FrameLayout)中的地图片段旁边:

<RelativeLayout 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_height="match_parent"
    android:layout_width="match_parent">

    <fragment 
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="in.co.abc.app.abc.MapsActivityHome" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:background="#fff"
        android:padding="5dp" />

</RelativeLayout>

您还可以使用片段事务以编程方式添加片段,我认为这是使用片段的更首选方式。

答案 1 :(得分:1)

只需将地图片段和EditText放在相对布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="in.co.abc.app.abc.MapsActivityHome">

<fragment 
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="in.co.abc.app.abc.MapsActivityHome" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"/>

</RelativeLayout>

根据您的意愿定位您的EditText,现在,我只是将其设置为父级的中心。

希望有所帮助:)