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

버튼 위치가 폰마다 바뀝니다..

0 추천
버튼 만들때 위치를 다 잡고 apk로 만들어서 실행해보면 폰마다 위치가 다 달라집니다.

 

가운데는 어떻게 맞춘다 하더라도 다른부분에 있는 버튼들은 다 바뀌더군요..

 

이거 어떤폰이든 위치가 똑같이 나타나게끔 할 수 있나요??
rksmdps (280 포인트) 님이 2015년 1월 18일 질문

2개의 답변

+2 추천
위치를 어떻게 잡고 계신지 모르겠으나 저의 경우에는

해상도별로 values 폴더를 만들어 (values-xhdpi, values-xxhdpi 등)

dimens.xml 파일에 각 해상도별 dp 값을 정의해 놓고

layout 파일에서 참조하는 방법을 사용합니다.

개인적으로 버튼 위치 같은 경우에는 LinearLayout / FrameLayout 의 Gravity 를 주고

margin 이나 padding 값을 주는 것으로 배치 가능할 것 같네요~
가랑비 (10,530 포인트) 님이 2015년 1월 18일 답변
+2 추천
LinearLayout의 weight(가중치)로 검색해보세요.

비율로 정렬하는 거라 어떠한 기기에서도 똑같이 나옵니다.

 

 weightSum을 이용해서 차일드 뷰들의 weight 합으로 정렬하면 깔끔하구요.

 
더 세밀한 배치가 필요하다면 weightSum 값을 늘리면 땡입니다.

뷰의 가로세로 크기나 패딩, 마진 등에 dp값을 주는 것보다 이게 더 간결하고 간편합니다

정 dp를 줘야 한다면 가랑비님의 답변대로 dimen을 이용하세요

 

mdpi에서 dp가 1이면
tvdpi에서는 1.33
hdpi 1.5
xhdpi 2
xxhdpi 3
xxxhdpi에서 4입니다. (모르시겠다면 dpi로 검색)

 
sw600dp, sw720dp, small, large 등 여러가지 방법으로 나눌 수 있습니다.

스마트폰과 태블릿 화면 모두에서 최적화를 원한다면 dpi만으로는 안 되고 위와 같은 방법으로 세분화해야 합니다.
익명사용자 (5,930 포인트) 님이 2015년 1월 19일 답변
익명사용자님이 2015년 1월 19일 수정
...