안드로이드 기기는 다양한 해상도를 가지고 있기 때문에 안드로이드 앱 개발에 있어 해상도에 따른 레이아웃 구현은 상당히 까다로운 문제인데요, 여러 해상도에 대응하기 위해 레이아웃 작업 시 아래와 같은 기본 룰을 지켜는 것이 좋다고 하네요.
출처 : S2 & NAMU 블로그, 돼지왕왕돼지의 놀이터 블로그
1. 레이아웃 디자인시에는 HVGA 기본 스크린 사이즈를 중심으로 DIP 단위만을 사용해서 디자인합니다. px과 dip가 1:1 이라서 화면 크기에 대응하여 사이즈 결정하기가 좋습니다. 320 * 480 화면 기준으로 들어갈 이미지나 UI 요소들 각각의 가로 사이즈를 px로 계산한 후 코딩시에는 그 값의 단위를 dip 로만 입력하 면 됩니다 .
2. AbsoluteLayout 을 사용하지 않습니다. 즉 , 화면의 절대 좌표 보다는 상대 좌표를 사용해야 합니다. 이거 사용해서 디자인하면 ..나중에 감당 안됩니다. (LinearLayout이나 RelativeLayout을 사용)
3. Bitmap 은 HDPI 기준으로 만듭니다. 그래야 자동으로 크기가 조정 되더라도 보기에 좋습니다. 즉 HVGA 를 기준으로 계산했을 때 100 * 100 이미지가 필요하다면 HDPI 기준으로 크기의 1.5 배인 150 *150 크기로 실 이미지를 제작하시면 됩니다. 만일 여력이 된다면 hdpi 및 mdpi 기준으로 각각 만드는 것도 나쁘지는 않습니다. 위에서 언급했듯이 성능에 유리합니다.
4. 각 장치별로 레이아웃 및 이미지를 모두 별도로 만들어서 세밀하게 조정할 수도 있지만 그런 경우 관리가 힘듭니다 . 가급적 레이아웃과 이미지를 적게 사용해서 통일된 UI를 구성하는 것이 좋습니다.
5. layout xml에는 wrap_content, fill_parent, dp만을 사용합니다. 글자의 크기는 sp로 합니다.
출처 : S2 & NAMU 블로그, 돼지왕왕돼지의 놀이터 블로그
'모바일프로그래밍 > Android' 카테고리의 다른 글
WebView 안의 콘텐츠(이미지, 동영상) 폰 화면에 맞추기 (2) | 2012.11.16 |
---|---|
Android Compile시 string.xml 관련 is not translated in ... Lint 에러 해결 방법 (0) | 2012.11.15 |
WebView에서 동영상 재생시 전체화면모드에서 발생하는 오류 해결법 (1) | 2012.11.13 |
해상도에 따른 레이아웃 폴더와, 이미지 폴더 분기 (0) | 2012.11.08 |
Target, minSdkVersion (0) | 2012.11.08 |
Proguard 적용하기 (1) | 2012.02.06 |
[펌] 성능을 위한 설계 (0) | 2012.01.13 |
this 사용에 따른 메모리 릭(Memory Leaks) (0) | 2012.01.13 |
Interpolation(보간법) 수식 (1) | 2012.01.06 |
Custom Widget에 사용자 속성 정의 및 사용하기 (0) | 2012.01.05 |