Android) ImageView android:scaleType
ScaleType속성은 matrix, fitXY, fitStart, fitCenter, fitEnd, center, centerCrop, centerInside 이렇게 8종류가 있다.
용그림은 구분이 잘되도록 빨간색 테두리를 입혀놓았다.
검은색 바탕 : Layout
하얀색 바탕 : 실제로 ImageView가 차지하는 영역
matrix
Matrix는 원본파일의 사이즈 그대로 보여준다.
Java 코드는 setScaleType(ImageView.ScaleType.MATRIX);로 설정
center
matrix와 같이 원본 이미지 사이즈를 그대로 보여주며 가운데 정렬을 한다.
Java 코드는 setScaleType(ImageView.ScaleType.CENTER);로 설정
centerCrop
(ImageView 영역은 match_parent(fill_parent)이다)
ImageView 영역에 공백이 있을 경우 비율을 유지하며 이미지를 늘린다.
Java 코드는 setScaleType(ImageView.ScaleType.CENTER_CROP);로 설정
centerInside
centerCrop과는 반대로 ImageView 영역을 벗어나면 비율을 유지하며 줄어든다.
Java 코드는 setScaleType(ImageView.ScaleType.CENTER_INSIDE);로 설정
fitStart
fitStart는 centerInside와 같으며 정렬은 왼쪽 위라는 것이 다르다.
Java 코드는 setScaleType(ImageView.ScaleType.FIT_START);로 설정
fitCenter
fitCenter는 centerInside와 같은 기능을 한다.
Java 코드는 setScaleType(ImageView.ScaleType.FIT_CENTER);로 설정
fitEnd
fitEnd는 centerInside와 같으며 정렬은 왼쪽 아래인 것이 다르다.
Java 코드는 setScaleType(ImageView.ScaleType.FIT_END);로 설정
fitXY
(height가 wrap_content이다) (height가 match_parent(fill_parent)이다)
fitXY는 비율에 상관없이 ImageView영역을 가득 채운다.
Java 코드는 setScaleType(ImageView.ScaleType.FIT_XY);로 설정
주의 할점은 이 속성은 android:src로 이미지를 불러왔을 때 적용되며
android:background로 불러오면 이 속성은 적용 되지 않는다.
속성값 | java | 설명 |
matrix | setScaleType(ImageView.ScaleType.MATRIX) | 원본 크기 그대로 보여줌 (왼쪽상단 정렬) |
Center | setScaleType(ImageView.ScaleType.CENTER) | 원본 크기 그대로 보여줌 (가운데 정렬) |
centerCrop | setScaleType(ImageView.ScaleType.CENTER_CROP) | View 영역에 공백이 있으면 채워서 보여줌(비율유지) |
centerInside | setScaleType(ImageView.ScaleType.CENTER_INSIDE) | View 영역을 벗어나면 맞춰서 보여줌(비율유지) |
fitStart | setScaleType(ImageView.ScaleType.FIT_START) | View 영역에 맞게 보여줌 (왼쪽상단 정렬, 비율유지) |
fitCenter | setScaleType(ImageView.ScaleType.FIT_CENTER) | View 영역에 맞게 보여줌 (가운데 정렬, 비율유지) |
fitEnd | setScaleType(ImageView.ScaleType.FIT_END) | View 영역에 맞게 보여줌 (왼쪽하단 정렬, 비율유지) |
fitXY | setScaleType(ImageView.ScaleType.FIT_XY) | View 영역을 가득 채워서 보여줌(비율유지 안함) |
Android) ImageView android:scaleType
[출처] Android) ImageView android:scaleType|작성자 영라이더