안드로이드 개발 질문/답변
(글 수 45,052)
300*300 , 50*50 이렇게 2개의 이미지 파일이 있다고 했을때
특정 가로,세로 pixel이나 dp를 지정해서 그 값을 초과하는 이미지는 축소하여 보여주는 방법이 있나요?
즉,
제가 가로 100pixel, 세로 100pixel 로 제한을 뒀다면
300*300 이미지는 100*100 사이즈로 줄어들어서 화면에 보이고
50*50 이미지는 별도 scaling 없이 50*50 사이즈 그대로 화면에 보였으면 합니다.
아래와 같이 scaleType에 여러 파라메타를 넣어봤으나 무조건 250dp로 스케일링되어 화면에 나오네요 ㅜㅜ
<ImageView
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_gravity="center"
android:background="@drawable/b_ic_my_apps"
android:scaleType="center"
해당 이미지를 Bitmap으로 받아서 width와 height값을 받아온뒤
그 값이 ImageView 의 width와 height를 비교 하던지 아니면 하시고자 하는대로 100이라는 숫자와 비교 하신후
100보다 크면
ImageView.setScaleType("fitXY");
100보다 작으면
ImageView.setScaleType("centerMatrix"); <- 요건 인자값이 맞나 모르겠네요;;
이런식으로 코드상에서 해주시면 될듯 하네요