AndroidのImageViewのscaleTypeについて(検証結果スクショ編)
AndroidのImageViewのscaleTypeについて試したのでまとめました。
検証結果について
検証用画像
検証結果スクショ
次の記事であるコード読んだときのメモのところで軽く触れているのですが、各種ScaleTypeはサイズがぴったり合っていたら何もしません。そのため、挙動を見る為には、
- 横長のImageViewに縦長の画像(画像の縦幅がImageViewの縦幅より大きい/小さい)
- 縦長のImageViewに横長の画像(画像の横幅がImageViewの横幅より大きい/小さい)
- ImageViewと画像の縦横比は同じだけどサイズが大きい/小さい
といった条件の画像とImageViewを用意してみるとよさそうです、ということで用意して突っ込んだ結果が下表です。
ScaleType | 縦長の画像 in 横長のImageView | 横長の画像 in 縦長のImageView | 正方形 in 正方形 |
---|---|---|---|
指定なし(FIT_CENTER) | |||
CENTER | |||
CENTER_CROP | |||
CENTER_INSIDE | |||
FIT_START | |||
FIT_END | |||
FIT_XY |
検証用レイアウト
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.woshidan.imageapplication.MainActivity"> <!-- scaleTypeを指定して色々試す --> <ImageView android:id="@+id/landscape_small_space" android:src="@drawable/potrait_sample" android:layout_width="100dp" android:layout_height="50dp" android:background="#333" /> <ImageView android:id="@+id/landscape_large_space" android:src="@drawable/potrait_sample" android:layout_width="300dp" android:layout_height="150dp" android:background="#333" /> <!--<ImageView--> <!--android:id="@+id/portrait_small_space"--> <!--android:src="@drawable/landscape_sample"--> <!--android:layout_width="50dp"--> <!--android:layout_height="100dp"--> <!--android:background="#333"--> <!--/>--> <!--<ImageView--> <!--android:id="@+id/portrait_large_space"--> <!--android:src="@drawable/landscape_sample"--> <!--android:layout_width="150dp"--> <!--android:layout_height="300dp"--> <!--android:background="#333" />--> <!----> <!--<ImageView--> <!--android:id="@+id/square_small_space"--> <!--android:src="@drawable/square_sample"--> <!--android:layout_width="50dp"--> <!--android:layout_height="50dp"--> <!--android:background="#333"--> <!--/>--> <!--<ImageView--> <!--android:id="@+id/square_large_space"--> <!--android:src="@drawable/square_sample"--> <!--android:layout_width="300dp"--> <!--android:layout_height="300dp"--> <!--android:background="#333" />--> <!----> </LinearLayout>