gpt4 book ai didi

Android AdMob 横幅添加到 Canvas 之上?

转载 作者:行者123 更新时间:2023-11-29 15:59:27 25 4
gpt4 key购买 nike

我使用 Canvas 创建了一个小游戏,现在我想在 Canvas 上显示 AdMob 广告。 AdMob 网站上的示例建议我执行以下操作:

 // Create an ad.
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(AD_UNIT_ID);

// Add the AdView to the view hierarchy. The view will have no size
// until the ad is loaded.
LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout);
layout.addView(adView);

但是,我将 contentView 设置为我创建的自定义 Canvas ,如下所示:

setContentView(new CanvasView(this));

Canvas View :

public class CanvasView extends View {
public CanvasView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
...

如何在我的自定义 Canvas 上展示 AdMob 广告?

最佳答案

您必须将包含广告和 Canvas 的父布局设置为内容 View 。修改您的代码如下:

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

// Create an ad.
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(AD_UNIT_ID);

// Add the AdView to the view hierarchy. The view will have no size
// until the ad is loaded.
RelativeLayout layout = new RelativeLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
// Create an ad request.
// get test ads on a physical device.
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(TestDeviceID)
.build();

// Start loading the ad in the background.
adView.loadAd(adRequest);

//Optional - Request full screen
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

//Create canvas view
View myView = new CanvasView(this);

//define ad view parameters
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(myView);
layout.addView(adView, adParams);

//Set main renderer
setContentView(layout);

关于Android AdMob 横幅添加到 Canvas 之上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25445239/

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