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

해상도별 레이아웃 맞추기에 대해서...

0 추천
안녕하세요.

지금 모바일 해상도 800x480[갤2]/1280x720[갤3]로 연습용 앱을 만들고 있는데요..

앱을 만들때마다 해상도를 나눠서 하자니 노가다인것 같아서 방법을 검색하던 도중에.,.

weight? 라는걸 알게 되었는데요.이 녀석이 각 해상도의 비율?을 조정하는 것인가요..?

왠만하면 처음 만들 때 힘들더라도 편하게 레이아웃 하나만 사용해서 모든 해상도에서 왠만한 비율로 맞춰서

사용하고 싶은데.. 이 쪽에 대해서  아시는 분들 계시면 조언 좀 부탁드립니다...감사합니다^^;
anci (19,950 포인트) 님이 2014년 6월 5일 질문

2개의 답변

+1 추천
 
채택된 답변

weight는 linearLayout에서 쓰는 비율조정입니다. Layout전체 크기를 측정해서(vertical이면 height, horizontal이면 width를) Layout에 들어있는 View들의 비율을 정해주는 것입니다. Layout에 버튼이 세개 있다고 생각해 봅시다.

이게 일반적인 경우 이죠?

weightf를 1:1:1로 주겠습니다.

1:2:3으로도 줘볼까요?

 

이런식으로 비율을 조정하므로 해상도에따라 View가 자리를 거의 균일하게 잡게되죠

보통 0dp를한 상태에서(역시 vertical이면 height, horizontal이면 width를) 비율 조정을해야 view들이 균등하게 자리를 잡습니다..(wrap_contents가 안먹는다고 해야 할까요?)

YeonMin (17,860 포인트) 님이 2014년 6월 5일 답변
anci님이 2014년 6월 5일 채택됨
+1 추천
비율 맞아요

LinearLayout안의  ChildView에서 사용할 수 있는 속성입니다

<LinearLayout ... 생략 .. android:orientation="horizontal">

        <Button .. 생략 .. android:layout_weight="1" />

        <Button .. 생략 .. android:layout_weight="1" />

</LinearLayout>

오리엔테이션이 horizontal이면 수평비율이 적용되고 vertical이면 수직 비율이 적용됩니다

위의 간단 소스는 수평이므로 수평으로 1:1비율로 사이즈를 맞춥니다

예를들어 LinearLayout Width가 100이면 각 버튼의 Width는 50이 되어 왼쪽 오른쪽에 배치되겠지요
루빈스 (620 포인트) 님이 2014년 6월 5일 답변
오 ..좋은 정보 감사합니다..^^ 말씀해주신대로 해보겠습니다!
...