如何添加按钮并将其覆盖在我的Google地图片段上

时间:2019-01-10 15:52:28

标签: android xml android-studio button google-api

因此,我使用自己的API密钥有一个GoogleMap。我可以找到我的位置,但是打开后,该应用程序没有任何按钮。如果我尝试通过android设计布局单击并拖动任何按钮,则不允许这样做。

这是我的activity_maps.xml的样子:

<?xml version="1.0" encoding="utf-8"?>
<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=".MapsActivity" />

当查看旁边的android手机视图时,它只是说而已,我不确定如何在此地图的顶部或什至在地图的下方添加按钮。 我知道ConstraintLayoutFrameLayout,但是在添加其他代码时,我只会遇到“多根错误”,并且无法实现所需的功能。

有人可以帮我吗?

3 个答案:

答案 0 :(得分:0)

也许更简单的解决方案是使用FrameLayoutRelativeLayout在地图前面设置叠加层,并将其作为活动中的常规按钮。您应该先声明图层顺序,例如在按钮之前映射,然后尝试以下布局,看看是否适合您

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MapActivity" >

        <fragment xmlns:map="http://schemas.android.com/apk/res-auto"
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scrollbars="vertical"  
            class="com.google.android.gms.maps.SupportMapFragment"/>

        <Button
            android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:orientation="horizontal" 
            android:background="#80000000"
            android:padding="4dp" >
    </FrameLayout>

答案 1 :(得分:0)

您必须用IEnumerable<EventModel> eventModels = ... EventModel firstOpenEvent = eventModels.Audit(event => event.Closer_User_ID == null) .Where(splitEvent => splitEvent.Key) .FirstOrDefault(); FrameLayoutLinearLayoutRelativeLayout包装片段,然后设置其他按钮。

代替此:

ConstraintLayout

它应该像这样:

<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=".MapsActivity" />

这只是<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <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=".MapsActivity"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentBottom="true" android:layout_margin="15dp" tools:text="Button one"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_margin="15dp" tools:text="Button two"/> </RelativeLayout> 的示例。

答案 2 :(得分:0)

这里是约束布局的示例

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".MapsActivity">

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_margin="16dp"

        />

</android.support.constraint.ConstraintLayout>