2016-09-26 27 views
2

Я внедряю объявления с собственными объявлениями в своем приложении, и у меня есть проблема с настройкой ширины объявления. В то время как высота в значительной степени прямо вперед, ширина дает мне неприятность:NativeExpressAdView set adSizeto работает на всех размерах

Я попытался установить его так:

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

Поскольку объявления содержатся в LinearLayout, который имеет маржу набор, я могу» t используйте FULL_WIDTH, поэтому мне нужно рассчитать ширину кода.

Теперь проблема заключается в том, что ширина не является правильным на всех размеров экрана, в то время как на некоторых это работает отлично, в других я получаю сообщения, как

«не хватает места, чтобы показать объявление. Нуждается 315x80 дп, но имеет только 310x .... »

Как я могу рассчитать ширину, чтобы правильно масштабировать все размеры экрана и убедиться, что объявление действительно отображает себя?

ПРИМЕЧАНИЕ: добавление отображается внутри LinearLayout, которое может быть либо в файле макета регулярного действия, либо в ListView.

ответ

0

Это потому, что AdSize принимает параметры dp, и вы конвертируете поля в пиксели.

Также обратите внимание на любое дополнение, которое некоторые виды, такие как представления AppCompat, добавляются на некоторые платформы, а не другие. Например, CardView добавляет 2dp прокладку с каждой стороны для KitKat и ниже, но для Lollipop и выше не добавлено дополнение.