Android AdView方向更改高度为0
问题描述:
我试图在方向更改时手动重新加载AdView。我能够发出请求并获得加回。问题是,当我尝试删除旧的视图,并添加一个新的,我得到这样的警告:Android AdView方向更改高度为0
W/Ads: Not enough space to show ad. Needs 592x32 dp, but only has 640x0 dp.
和视图不显示。这是我的onConfigurationChanged
方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
Log.v(TAG, "onConfigurationChanged");
super.onConfigurationChanged(newConfig);
ViewGroup.LayoutParams adViewParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
adViewParent.removeView(adView);
adView.destroy();
AdView newAdView = new AdView(this);
newAdView.setAdSize(AdSize.SMART_BANNER);
newAdView.setAdUnitId(getString(R.string.admob_ad_unit_id_main));
newAdView.setLayoutParams(adViewParams);
newAdView.setId(R.id.adView);
adView = newAdView;
adViewParent.addView(adView);
loadAd();
}
我读过其他类似的答案,像这样的android admob resize on landscape,但他们并没有为我工作,我真的不知道我在做什么错。
谢谢你的帮助。
答
我希望它可以帮助你:
ViewGroup.LayoutParams adViewParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, Utils.dpToPx(32));
而且隐藏adViewParent.setVisibility(GONE)
如果广告加载失败
谢谢你的评论。有了这个警告消失了,但视图仍然没有显示。此外,我宁愿不硬编码值,而是依赖WRAP_CONTENT属性 – Aurasphere