我有一个谷歌地图,这是在开始一个新项目时创建地图活动时的默认布局:
<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="com.xxxxx.xxxxx.xxxxx.xxxxx.MapsActivity" />
当我进入设计视图时,我希望能够将按钮拖到地图/片段上。但似乎不允许行为。
是否无法将UI组件拖到地图上?那与iOS不同。
如果是这样,我会使用线性布局,然后在其中包含片段和按钮吗?
感谢。
答案 0 :(得分:1)
是的,您必须将片段包装在其他布局中,例如Framelayout。
答案 1 :(得分:1)
您可以使用包含Fragment
的标准MapView
,只需将View
设置为显示在其上。
请记住将视图放在地图下方的xml中。
E.g:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.paylock.geoalarmlite.page.LocationFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/location_outer_container">
<com.google.android.gms.maps.MapView
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.google.android.gms.maps.MapView>
<ImageView
android:layout_width="..."
android:layout_height="..."
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:src="..."
android:tint="...." />
答案 2 :(得分:0)
检查此代码并使用如下: -
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.v7.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_gravity="bottom"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:elevation="1dp"
card_view:cardCornerRadius="8dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/area_no"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="4dp"
android:text="26"
android:textColor="@color/colorPrimaryDark"
/>
<TextView
android:id="@+id/area_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/area_no"
android:layout_marginLeft="16dp"
android:layout_marginTop="10dp"
android:maxLines="1"
android:text="Velachery Rd Dandeeswarar Nagar"
android:textColor="@color/colorPrimaryDark" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/area_name"
android:layout_margin="8dp"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/btEnterManually"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/round_button"
android:text="select manual location"
android:textColor="@color/colorLogo"
android:textSize="12sp" />
<View
android:layout_width="2dp"
android:layout_height="match_parent" />
<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/round_button"
android:text="Confirm order address"
android:textColor="@color/colorLogo"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
</android.support.v7.widget.CardView>
</FrameLayout>