目前我正在尝试使用如下布局:
[文本字段]
[地图片段]
[AD]
但是,地图涵盖了它下面的任何组件。我使用的基本上与我在另一个活动中的确切布局一样,它是组件 - >片段 - >广告,显示完美。下面是我的xml。谢谢你的帮助!
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/query_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Search for tweets here..." />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".MapsActivity"
tools:layout="@layout/test"
map:uiZoomControls="false"
/>
<ProgressBar
android:id="@+id/map_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone" />
</RelativeLayout>
<com.google.android.gms.ads.AdView
android:id="@+id/list_ad_map"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/ad_unit"
/>
修改:将android:layout_weight="1"
添加到RelativeLayout
可以正确显示。如果有人能够解释原因或提供更好的解决方案,那将是非常棒的。这是编辑后的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/query_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Search for tweets here..." />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MapsActivity"
tools:layout="@layout/test"
/>
<ProgressBar
android:id="@+id/map_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone" />
</RelativeLayout>
<com.google.android.gms.ads.AdView
android:id="@+id/list_ad_map"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="ca-app-pub-XXXXXX"
/>
答案 0 :(得分:0)
您可以尝试更改为RelativeLayout
并使用layout_above
中的xml
。那应该解决这个问题。
请参阅以下代码。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/query_field"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Search for tweets here..." />
<com.google.android.gms.ads.AdView
android:id="@+id/list_ad_map"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/ad_unit" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_above="@+id/list_ad_map">
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
map:uiZoomControls="false"
tools:context=".MapsActivity"
tools:layout="@layout/test" />
<ProgressBar
android:id="@+id/map_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone" />
</RelativeLayout>
</RelativeLayout>