2

アプリにネイティブ エクスプレス広告を実装していますが、広告の幅の設定に問題があります。高さはかなり単純ですが、幅は私に問題を引き起こします:

私はこのように設定しようとしました:

   adView.setAdSize(new AdSize((int) (getResources().getConfiguration().screenWidthDp - (getResources().getDimension(R.dimen.margin) / getResources().getDisplayMetrics().density)), 80));

広告はマージンが設定された LinearLayout に含まれているため使用できないFULL_WIDTHため、コードで幅を計算する必要があります。

さて、問題は、すべての画面サイズで幅が正しくないことです。一部では正常に動作しますが、他の場合は次のようなメッセージが表示されます

「広告を表示するには十分なスペースがありません。315x80 dp が必要ですが、310x しかありません....」

すべての画面サイズで適切にスケーリングされ、広告が実際に表示されることを確認するための幅を計算するにはどうすればよいですか?

注: 追加は、通常のアクティビティ レイアウト ファイルまたは ListView のいずれかにある LinearLayout 内に表示されます。

4

1 に答える 1

0

これAdSizeは、dp パラメータを取り、余白をピクセルに変換しているためです。

また、AppCompat ビューなどの一部のビューが一部のプラットフォームで追加するパディングにも注意してください。たとえばCardView、KitKat 以下の場合は両側に 2 dp のパディングを追加しますが、Lollipop 以上の場合はパディングを追加しません。

于 2016-11-11T22:08:05.543 に答える