Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
38
Help us understand the problem. What is going on with this article?
@alt_yamamoto

[Android]ImageViewのscaleTypeを秒で決める

More than 1 year has passed since last update.

ImageViewのサイズがwrap_contentじゃない前提。

  • 絵、写真 → FIT_CENTER
  • 9パッチ画像 → FIT_XY
  • スプラッシュ → CENTER_CROP

以下補足。読むと秒では決まらない。

よく使うもの

画像は正方形のImageViewに横長の画像をセットした場合のイメージ。

FIT_CENTER

FitCenter.png

  • 縦横比保持
  • 切り取られず、画像全体が表示される
  • ImageViewにちょうど収まるよう拡大・縮小される
  • ImageViewの全体は画像で埋まらず、隙間ができる

画像の縦横比を維持したまま、画像全体がImageViewに収まる最大サイズで、Viewの中心に画像を表示する。
Viewと画像の間に、縦か横どちらか隙間が空く。

縦横比保持で画像全体が表示されるので、絵や写真を表示するには一番無難なパターン。
画像全体がImageViewに収まるように表示するので、場合によっては結構小さくなる。

CENTER_CROP

CenterCrop.png

  • 縦横比保持
  • 画像の縦横どちらが切り取られる
  • ImageViewの全体を埋めるよう拡大・縮小される

画像の縦横比を維持したまま、縦横どちらかがImageViewに収まる最大サイズで、ImageViewの中心に画像を表示する。
画像はImageViewより大きなサイズになり、Viewに収まりきらない縦か横どちらかは、画像のViewにおさまらない部分がクロップ(切り取り)される。
起動スプラッシュなど、特定の範囲を隙間なく画像で埋めたい場合に使える。

FIT_XY

fitXY.png

  • 縦横比は保持されない
  • 一部が切り取られず、画像全体が表示される
  • ImageViewの全体を埋めるよう拡大・縮小される

ImageViewのサイズに合わせて画像を拡大・縮小して表示する。
9パッチを適用した背景画像などに使用する。
縦横比が崩れるため、写真や絵には使えない。

あまり使わないもの

CENTER

ImageViewの中央に、拡大縮小なしで画像を表示。
拡大縮小したくなければこれだが、拡大縮小するケースの方が多いのでそんなに使わない。

CENTER_INSIDE

FIT_CENTERと似ているが、こちらは拡大されない。(縮小はされる)
拡大されないので、画像がImageViewより小さいと隙間が空く。
ほとんどの場合拡大されるFIT_CENTERの方が有用なので、あまり使わない。

FIT_START、FIT_END

縦横比保持で、左上か右下に寄せる。
たまに使うかもしれない程度。

MATRIX

Image Matrix を使って行列変換するときに指定。
画像を変形や回転させる場合に使えるが、理系でないとピンとこないかもしれない。

補足

scaleTypeについてはこちらが詳しい。
https://akira-watson.com/android/imageview_scaletype.html

38
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
alt_yamamoto
株式会社アルトノーツ代表。 https://recruit.altonotes.co.jp

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
38
Help us understand the problem. What is going on with this article?