我有这个:
private void setupAds() {
AdView adView = new AdView(this, AdSize.BANNER, "a15138083566f58");
LinearLayout layout = super.root;
layout.addView(adView);
AdRequest request = new AdRequest();
request.setTesting(true);
adView.loadAd(request);
super.root.requestLayout();
}
广告加载时,它会覆盖我的应用程序的底部。如果我切换方向,一切都会正确重新渲染。这必须意味着WebView的大小合适,但Sencha Touch并不尊重尺寸变化,对吗?
我该如何解决这个问题?
答案 0 :(得分:1)
以编程方式添加AdView时,通常会将其添加到您专门为此目的创建和调整大小的ViewGroup中。我不知道Sencha Touch是什么,但如果super.root是整个Activity的ViewGroup,那么你的显示将完全取决于为根视图指定的布局类型。
建议您在布局中创建AdViewParent并将AdView添加到其中。
答案 1 :(得分:0)
诀窍是将adView放在super.root
布局上,而不放在WebView(DridGap的appView
)的布局上。以下是屏幕底部水平对齐横幅的代码
private void setupAds() {
AdView adView = new AdView(this, AdSize.BANNER, "a15138083566f58");
//
RelativeLayout layout = new RelativeLayout(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
AdSize.BANNER.getHeightInPixels(this));
rparams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layout.addView(adView, params);
//
appView.addView(layout, new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
request adRequest = new AdRequest();
adView.loadAd(request);
}
使用此方法,您必须避免使用admob横幅重叠内容。您可以在app.scss中执行此操作,例如
#bottomitemid{
padding-bottom: 50px;
}