http://i.stack.imgur.com/lbs7l.png
我正在尝试在背景下设置admob,但我一直在这样的背景上获得admob。 http://i.stack.imgur.com/YJXU2.png
所以发生的事情是我有一个按钮alignedParentBottom =“true” 但广告一直在覆盖按钮。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/backButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/back"
android:textSize="40sp"
android:layout_alignParentBottom="true"
></Button>
<ScrollView
android:id="@+id/ScrollView1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_alignParentTop="true"
android:layout_above="@id/backButton"
>
<TextView
android:id="@+id/TextView1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textSize="20sp"
android:text="@string/helphelp"></TextView>
</ScrollView>
<com.google.ads.AdView android:id="@+id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="MY_UNIT_ID"
ads:adSize="BANNER"
ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
ads:loadAdOnCreate="true"
android:layout_below="@id/backButton"></com.google.ads.AdView>
答案 0 :(得分:1)
您可以创建第二个RelativeLayout - 内部将包含所有主要布局内容,外部将包含您的布局内容和AdView。只需将AdView设置为底部,并将RelativeLayout内容设置在AdView上方,并在广告恢复时强制退回按钮。
为方便起见,我在这里提供了代码。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_above="@+id/adView2">
<Button
android:id="@+id/backButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/back"
android:textSize="40sp"
android:layout_alignParentBottom="true">
</Button>
<ScrollView
android:id="@+id/ScrollView1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_alignParentTop="true"
android:layout_above="@id/backButton">
<TextView
android:id="@+id/TextView1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textSize="20sp"
android:text="@string/helphelp">
</TextView>
</ScrollView>
</RelativeLayout>
<com.google.ads.AdView android:id="@id/adView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adUnitId="MY_UNIT_ID"
ads:adSize="BANNER"
ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID"
ads:loadAdOnCreate="true">
</com.google.ads.AdView>
</RelativeLayout>
附注:确保您的UI元素与广告不太接近;这可能会鼓励意外点击,并且违反了AdMob的ToS。
答案 1 :(得分:0)
使用FrameLayout:
子视图以堆栈形式绘制,最近添加的子项位于顶部。
没什么可说的。如果您想确保在AdView上绘制Button,请将AdView更早地放在常见的FrameLayout父级中。如,
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.ads.AdView android:id="@+id/adView2" ... />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
... Buttons, etc. ...
</RelativeLayout>
</FrameLayout>
虽然您可能只想在RelativeLayout的FrameLayout子项中使用Button和AdView。或者,您可能需要上述示例中AdView的RelativeLayout父级来定位广告。