막상 좀 만들어보려니.. 이 해상도가 참 성가시네요..

 

당장은 사용중인 폰에 맞도록 구현중이지만.. 실질적으로 해상도가 다르니 똑같이 나온다고 장담할순 없겠죠..

 

최대한 기기에 영향을 적게 받게 구현하려면 어떻게 해야 할까요..

 

일단 단위를 px을 쓰지 않고 dp를 쓰던데.. 솔직히 아직도 px과 dp의 차이를 정확히 모르겠구요.. 찾아 읽어봐도 햇갈립니다..

 

dp가 인치당 픽셀수로 밀도를 나타낸다는데.. 그렇다면.. 만약 화면의 크기가 다른.. 즉 픽셀수가 다른 기기에서

 

dp로 할 경우 그 비율을 그대로 유지한다는 뜻인가요??

 

 

그리고.. 개인적으로 레이아웃 배치기 리니어 레이아웃과 프레임 레이아웃을 가장 즐겨 사용하는데요..

 

리니어 레이아웃의 경우 weight보다도 그냥 margin이나 gravity 나 view를 추가하는식으로 여백을 표현합니다..

 

이때 필요한 여백 계산할때 제 기기가 480*800 이므로 가로의 경우 480을 기준으로 하여 들어가는 이미지 크기와 여백을 표현합니다..

 

예를 들어 이미지가 가로 400px이면 오른쪽 여백을 40px을 주는식으로요..

 

이걸 만약 px로 표현할시.. 해상도 다른 기기에서는 문제가 되나요??

 

그리고.. 다른 어플뜯어보다가 본건데.. 따로 xml을 만들어 픽셀을 모두 dp로 변환하여 사용하기에 저도 일단 그렇게 사용합니다만..

 

dp 사용시는 그 비율이 유지가 되는건지요..

 

 

이 비율이라는게 마추기가 참 힘드네요..

예를 들면.. 가운데 정렬을 gravity center를 주지 않고 세로 픽셀을 800으로 생각하여 위에 여백을 일정하게 주고 배치했을시..

당장 내 기기에서는 정상적으로 가운데 와 있는것처럼 보이지만.. dp로 하여도 화면이 큰 기기에서는 가운데 오는거 같지는 않습니다..

 

 

그럼.. 정말 해상도의 영향을 적게 받을려면.. 전부다 weight 로 비율 계산하여 배치하던지.. 아니면 쓰기 어려운 relative 레이아웃을 써야 된단 걸텐데..

 

 

보통.. 개발시 어떤 방법을 사용하시나요??