java - 如何在 LibGDX View 上方放置 admob 广告

标签 java android android-layout admob libgdx

我读过很多教程,比如这个:

https://github.com/libgdx/libgdx/wiki/Admob-in-libgdx

但是我似乎无法理解一件事。他们都使用与游戏 View 重叠的广告,我宁愿它在上面,而我的游戏 View 只是被压扁了。我该怎么做呢?我尝试过使用线性布局,但这似乎也不起作用

这是我的 onCreate() 方法

@Override public void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Create the layout
        RelativeLayout layout = new RelativeLayout(this);

        // Do the stuff that initialize() would do for you
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

        // Create the libgdx View
        View gameView = initializeForView(new HelloWorld(), false);

        // Create and setup the AdMob view
        AdView adView = new AdView(this, AdSize.BANNER, "xxxxxxxx"); // Put in your secret key here
        adView.loadAd(new AdRequest());

        // Add the libgdx view
        layout.addView(gameView);

        // Add the AdMob view
        RelativeLayout.LayoutParams adParams = 
            new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                    RelativeLayout.LayoutParams.WRAP_CONTENT);
        adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

        layout.addView(adView, adParams);

        // Hook it all up
        setContentView(layout);
    }

最佳答案

如前所述here ,您可以为游戏 View 设置边距,效果很好:

    RelativeLayout layout = new RelativeLayout(this);
    RelativeLayout.LayoutParams gameViewParams =
            new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                    RelativeLayout.LayoutParams.WRAP_CONTENT);
    gameViewParams.bottomMargin = 150;

    View gameView = initializeForView(new MainGame(), cfg);
    layout.addView(gameView, gameViewParams);

    AdView adView = new AdView(this);
    adView.setAdUnitId("app-id");
    adView.setAdSize(AdSize.BANNER);

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

    layout.addView(adView, adParams);

    AdRequest adRequest = new AdRequest.Builder().build();
    adView.loadAd(adRequest);

    setContentView(layout);

使用它,adView 位于 gameview 下方,但我想您可以放置​​一个 marginTop 并将您的 gameview 置于 adView 下方。

关于java - 如何在 LibGDX View 上方放置 admob 广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20338764/

相关文章:

java - 有哪些 JVM 汇编程序?

java - 避免整数数组中的重复整数

java - 我的 REST 程序出错

android - 在android中绘制箭头

java - 如何在 String.xml 中使用两个具有相同名称的不同字符串值?

android - 在 Android 2.3.5 上,NullPointerException 当 enableForegroundDispatch(...)

android - 文本大小增加时重叠的 Textview + RelativeLayout

JavaFX 组合框图像

android - Gradle构建失败-需要Gradle 1.10版。当前版本是2.8

android-layout - Android 服务和 AlertDialog Activity