2017-09-23 1 views
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方法です。

ありがとうございました。

答えて

0

私はそれがあなたの役に立てば幸い:

ViewGroup.LayoutParams adViewParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, Utils.dpToPx(32)); 

と広告の読み込みが

+0

失敗した場合adViewParent.setVisibility(GONE)を隠すには、コメントありがとうございました。これで警告は消えますが、ビューはまだ表示されません。また、私はむしろ値をハードコードし、代わりにWRAP_CONTENT属性に頼っています – Aurasphere

関連する問題