Android에서 전체 ImageView를 채우기 위해 이미지 크기 조정
ImageView의 전체 크기를 차지하도록 이미지 크기를 조정하고 싶습니다. 이미지 종횡비가 ImageView의 종횡비와 정확히 일치하지 않으면 fit_center 가 이미지 주위에 밴드를 남기기 scaleType=fit_center
때문에 사용하는 것과 미묘하게 다릅니다 . 대신 이미지를 중앙에 배치하고 확대하여 주변 뷰를 완전히 채우고 초과분을 잘라 내고 싶습니다.
onCreate () 동안 내 사용자 지정 이미지 매트릭스를 계산하여이를 수행 할 수 있습니다.
final Display display = getWindowManager().getDefaultDisplay();
final float screenWidth = display.getWidth();
final float screenHeight = display.getHeight();
final float imageWidth = splashView.getDrawable().getIntrinsicWidth();
final float imageHeight = splashView.getDrawable().getIntrinsicHeight();
final Matrix splashMatrix = new Matrix();
final float scale = Math.max(screenHeight/imageHeight,screenWidth/imageWidth);
splashMatrix.postScale( scale, scale );
splashView.setImageMatrix(splashMatrix);
이것은 잘 작동하지만 더 쉬울 것 같습니다. 이미지의 종횡비를 유지하고 ImageView를 완전히 채우면서 ImageView에서 이미지를 확장하는 방법을 아는 사람이 있습니까?
(참고 : 제 경우에는 ImageView가 전체 화면을 차지하므로 getWindowManager().getDisplay()
원하는 이미지 크기를 찾는 데 사용 합니다. 보기가 아직 배치되지 않았고 크기가 없기 때문에 splashView.getWidth()
/를 사용할 수 없습니다. getHeight()
)
사용할 수 있습니다 android:scaleType="centerCrop"
. 가로 세로 비율을 유지하고 원하는대로 이미지 크기를 조정합니다.
자세한 내용은 아래 링크를 통해 확인하십시오.
http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType
ImageView의 scaleType 속성을 사용해보십시오. http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType
어떤 경우에는 필요한 것은
android:adjustViewBounds="true"
참고 URL : https://stackoverflow.com/questions/6669764/scale-an-image-up-to-fill-entire-imageview-in-android
'IT박스' 카테고리의 다른 글
Java에서 날짜 객체에 시간을 설정하는 방법 (0) | 2020.12.03 |
---|---|
linux / videodev.h : 해당 파일 또는 디렉토리 없음-우분투 11.04의 OpenCV (0) | 2020.12.03 |
Javascript scrollIntoView () 중간 정렬? (0) | 2020.12.03 |
Apache 오류 : _default_ 가상 호스트가 포트 443에서 겹칩니다. (0) | 2020.12.03 |
Android Studio의 파일에서 방법을 검색하는 방법 (0) | 2020.12.03 |