마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

해상도 대응에 관하여 궁금합니다.

0 추천
궁금해서 잠이 안와서 글남깁니다.

각 디바이스별로 해상도가 다를경우에 대응하는 방법이 궁금합니다.

만약 레이아웃의 특정위치에 버튼들을 배치해야될 경우 좌표로 배치하거나 마진으로 dip값을 주어서

배치했을때 디바이스가 바뀌어 해상도가 달라지면 배치된 위치 또한 엉망이 되잖아요?

그럴 경우에 어떤 방법으로 대응하는것이 효과적인가요?

구글링을 하다보니 각 해상도별 폴더를 만들고 각각의 해상도별로 xml 레이아웃을 만들어 넣어두면

해당 해상도의 디바이스에서 동작할 경우 해당 폴더의 xml을 불러온다고 하는데.

만약 8개의 해상도를 지원할 경우 8개의 각각의 xml을 개별로 제작하여 각각의 폴더에 넣어야되는건가요?

다른 방법들은 없는건가요?

선배님들은 어떤 방법을 사용하시나요?
갸아악 (21,260 포인트) 님이 2014년 8월 26일 질문

3개의 답변

0 추천
 
채택된 답변

먼저 답변하신 분 말씀처럼 dp, wrap, match를 사용해도 되지만

다양한 디바이스에 모두 최적화 하거나 GUI 구현 사항이 복잡하면 그것만으로 해결하기 어려운 경우가 대부분 입니다.

dp와 dpi를 잘 이해 하셨다면 개발자 페이지 (Supporting Multiple Screens)를 참고하시면 기본 구조는 파악이 되실 겁니다.

구글링을 하시면 국내 개발자 분들의 좋은 자료가 많이 나오구요.

폴더를 구분해서 사용하는건 맞지만 픽셀 단위의 해상도로 구분하는건 아니고

dp, dpi, 화면 회전 등의 속성을 조합해서 폴더 이름을 지어 사용하게 됩니다.

폴더 네이밍에 따른 참조 우선 순위가 있으니 추가로 검색해 보시는게 좋습니다.

익명사용자 님이 2014년 8월 28일 답변
갸아악님이 2014년 8월 28일 채택됨
0 추천

각 해상도별 폴더를 만들고 각각의 해상도별로 xml 레이아웃을 만들어 넣어두면

어디에서 이런 것을 보셨는지 모르겠으나 공식적으로는 해상도별 리소스 디렉토리를 지원하지 않습니다.

 

해상도가 달라지면 배치된 위치 또한 엉망이 되잖아요

엉망의 기준이 뭔지를 정해서 거기에 맞게 레이아웃을 만들면 됩니다.

해상도가 달라지면 레이아웃도 달라질 수 밖에 없습니다.

익명사용자 님이 2014년 8월 27일 답변
0 추천
폰과 패드의 차이가  아니라면 해상도 조금 달라지는건 큰 문제 안됩니다.

dp나 wrap_content, match_parent 정도만 적용해도 비슷하게 잘 나와요
쎄미 (162,410 포인트) 님이 2014년 8월 27일 답변
...