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
По някаква причина не ми е позволено да използвам Smart Banner, така че трябва да използвам setScaleX/Y, за да свърша работата.... - person Kit Ng; 20.04.2014