Imageコンポーサブル(Jetpack Compose)を扱う
Image
コンポーザブルは、画像やイメージを表示するためのコンポーサブルでAndroid ViewのImageView
に相当する。
ImageView
で重要だったscaleType
は、Image
コンポーサブルではcontentScale
というパラメータで同様に実現できる。
Imageコンポーザブルの使い方チートシート
最低限必要なパラメータは以下の通りです。
Image(
painter = painterResource(id = R.drawable.dog), // リソースから画像を読み込む
contentDescription = stringResource(id = R.string.dog_content_description) // 画像の説明文
)
contentDescription
はアクセシビリティのために非常に重要で、読み上げ機能などで使われる。
contentScaleの種類
contentScale
にはいくつかの設定があり、それぞれ画像の表示方法を調整します。
ContentScale.Fit
: アスペクト比を維持したまま、表示領域に収まるように画像を拡大・縮小する。ImageView
のfitCenter
に相当。ContentScale.Crop
: 画像を拡大し、表示領域を完全に埋めるように表示する。はみ出した部分は切り取られる。ContentScale.FillHeight
: アスペクト比を維持したまま、高さを表示領域に合わせる。ContentScale.FillWidth
: アスペクト比を維持したまま、幅を表示領域に合わせる。ContentScale.FillBounds
: 画像のアスペクト比を無視して、表示領域いっぱいに画像を拡大・縮小する。画像が歪む可能性がある。ImageView
のfitXY
に相当。ContentScale.Inside
: アスペクト比を維持したまま画像を縮小する(拡大はしない。)ContentScale.None
: 画像の元のサイズとアスペクト比を維持。ImageView
のcenter
に相当。
最終更新: 2025.9.23