gpt4 book ai didi

Android:在不重叠主视图的情况下添加 Admob 横幅

转载 作者:太空狗 更新时间:2023-10-29 15:22:35 26 4
gpt4 key购买 nike

我正在尝试将 Admob 横幅添加到自定义 SurfaceView(我的主游戏屏幕)。我可以将横幅放在屏幕的顶部或底部,但在这两种情况下它都与游戏屏幕重叠(并隐藏了一些基本的 UI 元素)。我怎样才能让横幅在进入时调整游戏屏幕的大小,使其不与任何东西重叠?

该线程给出了一个 xml 解决方案:How to get ad to show at bottom of screen without overlap ,但由于我的 View 是用 Java 编写的,因此我需要一种以编程方式执行此操作的方法。我试图翻译它,但是当我实现代码时没有出现横幅。下面是两个解决方案,第一个不显示任何横幅,第二个在底部显示一个横幅,但有重叠。我需要更改哪些参数才能消除重叠?

/* Admob advert on Android done programmatically! */
adView = new AdView(this, AdSize.BANNER, "a14dc6ed8aead31");
gameView = new GameView(this, gameEng, adView);

//no banner displays with this code
RelativeLayout rl = new RelativeLayout(this);
RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.FILL_PARENT);
RelativeLayout.LayoutParams gameViewParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
gameViewParams.addRule(RelativeLayout.ABOVE);
rl.addView(adView, adParams);
rl.addView(gameView, gameViewParams);
setContentView(rl);

//a banner at the bottom displays, but it overlaps my game screen
/*FrameLayout layout = new FrameLayout(this);
FrameLayout.LayoutParams gameParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.FILL_PARENT);
FrameLayout.LayoutParams adsParams =new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT, android.view.Gravity.BOTTOM|android.view.Gravity.CENTER_HORIZONTAL);
layout.addView(gameView, gameParams);
layout.addView(adView, adsParams);
setContentView(layout);*/

AdRequest request = new AdRequest();
request.setTesting(true);
adView.loadAd(request);

最佳答案

我从来没有解决过这个问题,但我找到了解决办法。如果其他人遇到这个问题,请尝试将所有绘图坐标向上移动:减去广告横幅的高度(您可以使用方法 getHeight())。

虽然广告横幅不会立即加载,因此您必须不断检查它。我在我的主游戏循环中这样做了。

关于Android:在不重叠主视图的情况下添加 Admob 横幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6100376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com