Android - setScaleX/Y обрезает изображение

У меня есть баннер внизу экрана, и я хотел бы использовать setScaleX + setScaleY, чтобы увеличить его до ширины экрана.

До и после:

ДоПосле

Основное отличие заключается в том, что нижняя часть изображения обрезается после масштабирования (вы можете видеть, что нижняя часть Белого Рога на баннере обрезана).

Ниже мой код (adView — это баннер размером 320x50)

DisplayMetrics metrics = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(metrics);
            float scale = metrics.widthPixels / metrics.density / 320;
            adView.setScaleX(scale);
            adView.setScaleY(scale);

Любое решение? Спасибо!

p.s. Некоторые могут предложить использовать Smart Banner в качестве AdSize для AdView. Однако по некоторым причинам я не могу использовать Smart Banner, поэтому я могу играть только с setScaleX/Y, чтобы добиться цели.


person Kit Ng    schedule 19.04.2014    source источник


Ответы (1)


Установите adSize на SMART_BANNER и layout_width на match_parent

Изменение в XML

android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"    
person Libin    schedule 19.04.2014
comment
По какой-то причине мне не разрешено использовать смарт-баннер, поэтому я должен использовать setScaleX/Y для выполнения этой работы.... - person Kit Ng; 20.04.2014