0
向きが変わったときにAdViewを手動で再読み込みしようとしています。私はリクエストを発行して追加を取り戻すことができます。問題は、古いビューを削除して新しいビューを追加しようとすると、次のような警告が表示されます。AndroidのAdViewの向きの変更の高さは0です
W/Ads: Not enough space to show ad. Needs 592x32 dp, but only has 640x0 dp.
ビューは表示されません。私はこの1つandroid admob resize on landscapeような他の同様の答えを読んだが、彼らは私のために動作しませんでしたし、私は本当に私が間違ってやっているかわからない
@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();
}
:これは私のonConfigurationChanged
方法です。
ありがとうございました。
失敗した場合
adViewParent.setVisibility(GONE)
を隠すには、コメントありがとうございました。これで警告は消えますが、ビューはまだ表示されません。また、私はむしろ値をハードコードし、代わりにWRAP_CONTENT属性に頼っています – Aurasphere