我想要做的是在MapFragment v2的左下角添加Button。
问题是我的MapFragment位于LinearLayout内部,因为它下面还有AdView,所以我无法使用PARENT对齐。
我的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.powa.Activites.MapActivity"
tools:ignore="MergeRootFrame">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
>
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<Button
android:id="@+id/mailBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/map"
android:layout_alignLeft="@+id/map"
android:text="MAIL" />
</RelativeLayout>
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/map"
android:background="@color/black"
ads:adSize="SMART_BANNER"
ads:adUnitId="XOXOXOXO" />
当我使用它时,我的MapFragment根本没有出现。
希望看下面。
_____________________
| |
| |
| |
| |
| MapFragment |
| |
| |
| |
| |
| {Button} |
|____________________|
| |
| AdView |
|____________________|
答案 0 :(得分:2)
权重仅适用于线性布局,因此请在地图片段上提供高度并移除权重
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1">
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:id="@+id/mailBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/map"
android:layout_alignLeft="@+id/map"
android:text="MAIL" />
</RelativeLayout>
答案 1 :(得分:1)
您可以将所有内容放在 RelativeLayout 中,将AdView设置为
android:layout_alignParentBottom="true"
和MapFragment with
android:layout_above="@+id/adView"
答案 2 :(得分:0)
试试这个..
将fragment
改为match_parent
并删除android:layout_weight="1"
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1">
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<Button
android:id="@+id/mailBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/map"
android:layout_alignLeft="@+id/map"
android:text="MAIL" />
</RelativeLayout>