0

TapForTap 的代码对于简单的 Android 应用来说看起来很简单:

    setContentView(R.layout.main);
    AdView adView = (AdView) findViewById(R.id.ad_view);

ad_view 在 XML 中定义:

    <com.tapfortap.AdView android:id="@+id/ad_view"
                      android:layout_height="50dip"
                      android:layout_width="320dip"
                      android:layout_gravity="bottom"
                      />

但我使用 Libgdx,我需要这样的东西:

    RelativeLayout layout = new RelativeLayout(this);
    View gameView = initializeForView(new MyGame(), false); //this runs Libgdx
    MobclixAdView adView = new MobclixMMABannerXLAdView(this);
    adView.getAd();
    adView.setRefreshTime(30000);

    RelativeLayout.LayoutParams adParams = new
    RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
    RelativeLayout.LayoutParams.WRAP_CONTENT);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    adParams.addRule(RelativeLayout.CENTER_HORIZONTAL);

    layout.addView(gameView);
    layout.addView(adView, adParams);
    setContentView(layout);

问题是 TapForTap 的 AdView 没有构造函数,所以不能写:

AdView adview=new AdView();

如果我做

layout.addView(adView);

我收到一个错误,adView 已经有父级。

有任何想法吗?谢谢!

4

2 回答 2

0

要使用 AdView,您需要对 Android 项目进行一些更改。看看来自 libgdx 的 wiki 的这个条目。它有一个使用 AdView 的完整解决方案。您应该能够将您的转换为该解决方案。

libgdx 中 admob 的 Wiki
条目

于 2013-05-14T14:17:06.347 回答
0

我认为您需要先将视图附加到布局。例如 -

fullAdView = (RelativeLayout)getLayoutInflater().inflate(R.layout.ad_full, null);

在此链接中查看更多信息。

http://www.ikergarcia.com/en/juego-android-libgdx-admob/

于 2013-12-31T07:15:47.810 回答