Android の ImageView.ScaleType

概要

ImageView.ScaleType を解説している記事は見かけますが、表で整理された内容を見かけないため整理します。

目次

参考情報

解説

ScaleType 縦横比 配置 はみ出し 隙間 サイズ
CENTER 維持 中央 両方向 元サイズ
CENTER_CROP 維持 中央 拡大のみ
CENTER_INSIDE 維持 中央 両方向 縮小のみ
FIT_CENTER 維持 中央 片方向 拡大/縮小
FIT_END 維持 右下 片方向 拡大/縮小
FIT_START 維持 左上 片方向 拡大/縮小
FIT_XY 無視 中央 拡大/縮小
MATRIX - - - - -

縦横比に注目すると、FIX_XY のみが縦横比を無視して拡大/縮小します。他は、縦横比を維持します。

配置は、基本的に中央寄せです。FIT_END と FIT_START のみが中央以外に寄せます。日本では、END が右下、START が左上です。日本以外では、START が右になる場合もあるので、表の内容は日本の場合です。

CENTER は、元サイズのままであるため、View に収まらない範囲は View からはみ出ますし、View の範囲よりも小さい場合には View の枠と画像の間に隙間ができます。隙間は、縦と横の両方向にできる場合があります。

CENTER_CROP は、はみ出した部分を切り取ります。View の範囲より小さい場合には拡大するため、View の枠と画像の間に隙間ができません。

CENTER_INSIDE は、はみ出さないように縮小します。View の範囲より小さい場合には元サイズのままとなるため、View の枠と画像の間に隙間ができます。隙間は、縦と横の両方向にできる場合があります。

FIT_CENTER は、はみ出さない範囲で拡大/縮小します。縦と横のいずれかの方向が View の枠の幅と同じになるまで拡大します。そのため、隙間は、片方向だけにできます。FIT_END、FIT_START も同様です。