프로그래밍 언어/Java

[Android java] 해상도 별 이미지 크기 변경 하는 방법(이미지 대응)

happy_life 2022. 3. 3. 22:53

해상도 별 이미지 크기 변경 하는 방법(이미지 대응)

핸드폰이 크기 별로 달라 UI를 디자인할 때 꽤나 난감한 상황을 마주치게 됩니다.

이러한 문제는

dpi 별 해상도 이미지 크기를 달리하여 대응할 수 있습니다.

 

 

dpi별 해상도

ldpi 저밀도(120dpi) 화면에 해당합니다.
 mdpi 중밀도(160dpi) 화면에 해당합니다.
 hdpi 고밀도(240dpi) 화면에 해당합니다.
 xhdpi 초고밀도(320dpi) 화면에 해당합니다.
 xxhdpi  초초고밀도(480dpi) 화면에 해당합니다.
 xxxhdpi 초초초고밀도(640dpi) 화면에 해당합니다.

 

http://romannurik.github.io/AndroidAssetStudio/

 

Android Asset Studio

Launcher icon generator Generate launcher and store listing icons for your app.

romannurik.github.io

 

이 사이트에서 다운 받으면 각 해상도 별의 이미지를 알집으로 받을 수 있습니다.

 

1.저는 사람모양을 다운받아보겠습니다.

 

2. 이후 open in Explorer에 들어갑니다. 이후 -> res 에 다운받은  파일을 넣어줍니다. 

 

 

Android studio 내부에선 다음과 같이 보이게 됩니다.(ic_accessibility.png)

 

 

1.hdpi 에서의 화면

 

 

2.xxhdpi 에서의 화면

 

 

이런식으로 해상도별로 다른 크기의 이미지를 넣을 수 있습니다.

 참고로 이렇게 이미지 별로 넣어두기만 하면 안드로이드에서 자동으로 기기 별 dpi에 맞추어 src를 참조하게 되는 것입니다.

따라서 저희는 그냥 resource를 넣기만 하면 됩니다.