본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Android/안드로이드] 화면크기, 해상도에 영향받지 않는 layout( view ) 만들기

by 돼지왕 왕돼지 2012. 2. 9.
반응형


안녕하세요 돼지왕왕돼지입니다.
오늘은 화면크기 즉 화면의 해상도에 영향받지 않는 layout ( view 구성 ) 만들기에 대해 알아보고자 합니다.
어떤 노하우들이 있을까요? 

 

1. HVGA 기본 스크린 사이즈를 중심으로 DIP 단위만을 사용

 
HVGA 의 해상도는 320 x 480 입니다. 요 환경에서는 Pixel 과 Dip 이 1:1 비율이기 때문에 디자인이 320 x 480 사이즈로 나오고, 이 때의 Pixel 값을 dip 값으로 입력하면 되겠습니다.
 

2. 절대 AbsoluteLayout 을 사용하지 않습니다.


 현재 AbsoluteLayout 은 Deprecate 된 상태긴 하지만, 사용 자체는 가능할 것입니다. AbsolteLayout 은 multi 해상도 지원 측면에서는 완전 쥐약인 녀석입니다. 그러니 Absolute ( 절대적 ) 의 말을 절대적으로 사용하지 말란 의미로 받아들이시고 절대 사용하지 마시길 바랍니다.
 
 

3. Bitmap을 hdpi 기준으로 만듭니다.


  hdpi 로 만들 경우 최고 해상도이기 때문에 해상도에 따른 조정시 보기 좋습니다. 작은 녀석을 늘릴 경우에는 계단 현상이나 quality 저하가 있지만, 큰 녀석을 줄일 경우에는 이런 현상들이 없죠. 다만, apk 용량 자체가 커진다는 단점은 있겠네요.
 
 

4. "가능하다면" hdpi, mdpi, ldpi 모두 만들어 넣는것이 좋습니다.

 
 hdpi 로만 만들 경우는 손이 적게 간다는 장점은 있지만, 암만해도 resize 등이 일어나고, low density 장비에서도 우선 hdpi 의 이미지를 읽어야 해서 성능 이슈가 나기 쉽습니다. 따라서 물론 용량이 더 커진다는 단점이 있지만, "가능하다면" hdpi, mdpi, ldpi 의 리소스 모두 준비하는 것이 가장 좋습니다.
 
 

5. "가능하다면" 이미지를 적게 쓰는 것이 좋습니다.

 
각 단말마다 레이아웃 및 이미지를 별도로 만들어 세밀하게 조정할 수도 있지만, 관리하기가 힘들어집니다.
유지보수 측면에서 가급적 레이아웃과 이미지는 적게 사용하는 것이 좋습니다. 


[ Tablet 과 호환되기 위한 추가 사항]


어떤가요? 생각보다 어렵지 않죠??
모두들 모든 해상도에서 일관된, 이쁜 layout 을 보여줄 수 있도록 위의 원칙들을 잘 따라 보자구요. 

 
로그인 없이 추천 가능합니다. 손가락 꾸욱~

반응형

댓글