よく忘れてその度にググるのでメモ。
条件
- 画像はバナー系の、横幅が長いもの
- ImageViewで表示
- LinerLayout (vertical) > ImageView という構造
問題
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/banner">
だいたいこんな感じのImageViewがあるとき、ImageView自体は画面幅いっぱいに広がるけれど、表示される画像はちんまりしている。
おそらく、バナー画像の高さが小さいため、それに合わせてImageViewの高さが決定し、バナー画像のアスペクト比を保ったまま表示するためにバナー画像の横幅を縮小されてしまったのが原因。
解決
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/banner"
android:adjustViewBounds="true">
android:adjustViewBounds
を true
にします。
ImageViewの境界が、表示内容(バナー画像)のアスペクト比に比例するようになります。