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