Android では、ImageView
を(携帯電話の全幅を占める)layout_width
として定義しました。fill_parent
に配置した画像がImageView
より大きい場合layout_width
、Android はそれを拡大縮小しますか? しかし、高さはどうですか? Android が画像を拡大縮小するとき、アスペクト比は維持されますか?
ImageView
Android が より大きい画像を拡大縮小すると、の上部と下部に空白ができることを発見しました。ImageView
これは本当ですか? もし本当なら、その空白をなくすにはどうしたらいいですか?
ベストアンサー1
はい、Android では、デフォルトでアスペクト比を維持しながら、ImageView に収まるように画像を縮小します。ただし、 では
android:src="..."
なく を使用して、ImageView に画像を設定するようにしてくださいandroid:background="..."
。を使用すると、src=
アスペクト比を維持したまま画像を拡大縮小しますが、 ImageView のサイズにぴったり合うように画像をbackground=
拡大縮小して歪ませます。(ただし、背景とソースを同時に使用することもできます。これは、1 つの ImageView だけを使用してメイン画像の周囲にフレームを表示する場合などに便利です。)また、ImageView のサイズを変更して、サイズを変更した画像に合わせることも必要です
android:adjustViewBounds
。たとえば、通常は正方形の ImageView に長方形の画像がある場合、adjustViewBounds=true を指定すると、ImageView のサイズも長方形になります。これにより、他の View が ImageView の周囲にレイアウトされる方法も変わります。次に、Samuh が書いたように、パラメータを使用して、画像のデフォルトのスケーリング方法を変更できます
android:scaleType
。 ちなみに、これがどのように機能するかを知る最も簡単な方法は、自分で少し実験してみることです。 Eclipse のプレビューは通常間違っているため、エミュレーター自体 (または実際の電話) のレイアウトを確認することを忘れないでください。