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

안드로이드 해상도별 레이아웃 지원

0 추천
안녕하세요. 안드로이드 해상도별 레이아웃 지원에 대해 여쭙고자 질문 올리게 되었습니다.

현재 안드로이드 다이얼러와 비슷한 기능을 가진 앱을 개발중에 있는데,

해상도별 레이아웃에 막혀 질문올립니다..

 

우선 각 숫자버튼들은 이미지로 되어있습니다.

이 이미지들은 변형될시 요상하게 변해버리기때문에 가로세로 비율이 같이 움직여야 하는데요,

여기서 문제가

LinearLayout 으로 weight 기준으로 layout을 작성하였을때,

가로길이가 약간 긴 휴대폰에서는 옆으로 퍼져나와서 문제입니다..

이것을 해결하기 위하여 나인패치를 알아보았는데..

나인패치는 주로 모서리 부분(끝부분쪽)은 고정시키고 가운데영역을 늘렸다 줄였다 하는 형식인 것 같더라구요..

그런데..제 이미지는 가운데있는 숫자 그림이 변형되면 안되는 거라서..

고민이 있는데요..

 

비슷한 고민을 가지고 해결하신 분들이나, 해결에 도움을 주실 고수님들의

답변 기다리도록 하겠습니다..ㅠㅠ

감사하빈다.
안드로이드로우 (15,740 포인트) 님이 2014년 12월 17일 질문

1개의 답변

+1 추천
 
채택된 답변
일단 가로세로 모드를 지원할려면 리니어레이아웃과 weight는 쓰지마세요.

그걸로 나인패치와 비율맞출려고하면 답안나옵니다.

레이아웃을 두개만드시구요, port, land

가로와 세로의 화면이 똑같을수는 없습니다.

세로를 우선 만드셧으면 가로를 새로만들고 뷰들을 다시 배치하세요.

가로와 세로의 길이 높이가 다른데 똑같이 배치할수가없으니깐 어떻게 배치하느냐는 개발자 재량이죠.

갤럭시 다이얼을 봐도 가로와 세로의 배치와 모양이 완전 달라집니다.

그냥 두개의 전혀 다른 레이아웃이구요. 세로일때 세로레이아웃, 가로일때 가로레이아웃만 붙여주면됩니다.

동일한 이름의 xml을 layout-port에넣으면 세로, layout-land에 넣으면 가로 화면이 나옵니다.
기초개발자 (24,060 포인트) 님이 2014년 12월 17일 답변
안드로이드로우님이 2015년 7월 2일 채택됨
...