Android - setScaleX / Y使图像被剪裁

时间:2014-04-19 20:22:06

标签: android scaling clipped

我在屏幕底部有一个横幅,并希望使用setScaleX + setScaleY来缩放它以适应屏幕宽度。

之前之后

Before After

主要的不同之处在于,缩放后图像的底部被剪裁(你可以看到横幅中白帽的底部被剪掉)

以下是我的代码(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。有些人可能会建议使用智能横幅作为AdView的AdSize。但是,由于某些原因我无法使用Smart Banner,因此我只能使用setScaleX / Y来完成这个操作。

1 个答案:

答案 0 :(得分:2)

adSize设为SMART_BANNER,将layout_width设为match_parent

更改XML

android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"