0

我创建了一个游戏(surfaceview),我正在尝试实现 admob,其中它必须固定在底部。我已经成功实现了 admob 并正确显示了它,但我所做的是我在主要活动中调用它。

AdView adView = (AdView)findViewById(R.id.adView);
        adView.loadAd(new AdRequest());

我在所有布局上都有这个

 <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/unit_id"
        ads:loadAdOnCreate="true"
         />

我需要做的是显示admob,但即使屏幕切换它也不会受到影响,它固定在屏幕的底部。我已经搜索过类似的东西,但我没有成功。我希望有人可以帮助甚至解释我如何实现这一目标。

PS 它就像所有活动的 1 个横幅。

4

3 回答 3

0

仅使用没有 Java 代码的 Xml 编码

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="App ID"`enter code here`
        ads:testDevices="25" 
        ads:loadAdOnCreate="true" />
</RelativeLayout>
于 2013-09-17T03:54:58.553 回答
0

我认为只有一个独特的横幅跨越多个活动将是困难的(或不可能的) 。ActivityGroup小组课程可能允许这种事情,但它从来没有流行过,无论如何已经被弃用了一段时间。

同时,对于在一个屏幕范围内切换主要视图的 UX 主题仍有大量需求。但该机制已被重新设计使用Fragments。如果您可以让 SurfaceView 的内容在 Fragment 中工作,那么这可能是您最好的选择。布局可能如下所示:

<LinearLayout>
 <Fragment>
 <AdView>
<LinearLayout>

我最近做这种事情的时候,只是把 AdMob 代码放在每个 Activity 的底部,让它在每次推送时重新加载一个新的广告。谷歌方面并没有因为过于频繁的广告请求而责骂我,而且我得到了很多点击。

祝你好运!

于 2013-09-17T04:48:34.500 回答
0

您可以将整个屏幕包装在相对布局中吗?然后,您可以将横幅与父级底部对齐。您的其他物品应与横幅一起声明layout_above以将它们保持在横幅上方。最简单的方法是将它们包装在另一个布局中。

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/adView" >

       ... your other items can go here

    </RelativeLayout>    

    <com.google.ads.AdView
        android:id="@id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="App ID"`enter code here`
        ads:testDevices="25" 
        ads:loadAdOnCreate="true" />
</RelativeLayout>
于 2013-09-17T04:17:05.733 回答