http://www.androidpub.com/index.php?mid=android_dev_qna&page=2&document_srl=2208666
이게 제가 처음 쓴 글인데요~
제가 읽어봐도 이해가 어려울 것 같아서......ㅜㅜ 다시 질문 드려 봅니다.
제가 알기로는 안드로이드에서 dp란 모든 기기에서 동일한 UI를 보여주기 위한 단위라 알고 있는데요,
이것이 기기의 dpi의 값에 따라 조금씩 잘리고 깨지고 한다는 것은 알고 있습니다.
그런데 동일한 UI를 보여준다는 것이
Linear Layout의 weight 처럼 화면 크기에 따라 채워진다는 것인지,
아니면 큰 화면에서도 시각적으로 완벽하게 동일한 크기로 보인다는 것인지 헷갈리네요..
안드로이드 레이아웃의 기본개념을 대충 건너뛰었더니 혼란이 오는 것 같습니다. ㅜㅜ
지금까지 제가 정리한 바로는
dpi가 동일하면
-> 화면크기가 달라도 weight처럼 비율대로 크기가 조정되어 동일하게 보이고,
dpi가 다르면
-> 절대적인 크기가 달라진다고 생각하고 있는데...
이렇게 되면 너무 복잡하니 개발자분들이 많이 쓰지는 못하실 것 같은데 어떤 글을 보니 잘 쓰시는 분들이 많더라구요..
저 혼자 무슨 착각의 늪에 빠진 게 아닌지..
안드로이드 기기가 하나 뿐이 없어서 알 수 있는 방법이 없네요... 이번에 갤탭이라도 중고로 하나 사야할 것 같습니다. ㅜㅜ
질문을 요약하면 다음과 같습니다. (사각형이 Relative Layout, 원이 View 라고 생각해주세요)
예를 들어서 480*800 기기에서 위와 같이 dp단위로 크기를 잡은 원이 컨테이너에 꽉 찬다고 했을 때,
갤럭시탭 또는 기타 기기에서는
위와 같이 절대적인 크기가 같게 보이는지, (같다고 봐주세요...........;;)
아니면
위와 같이 동일하게 꽉 차서 보이는지,
혹은 기기의 해상도와 dpi에 따라 그때그때 다른 것인지 궁금합니다.
어떤 의견이라도 환영합니다...
카오스에서 빠져나오게 해주실 도움의 손길이 필요해요.. ㅜㅜ
감사합니다.
쉽게 말해서..DP는 눈에 보이는 절대크기입니다.
예를 들어 리스트뷰에서 한 로우의 높이를100DP로 잡으면 480 디바이스에서는 한화면에 4~5개쯤 보이지요..
그렇다고 이놈을 노트로 옴긴다고 한화면에 4~5줄 보이는게 아니고 더 보이지요..절대치라고 보시면 됩니다^^
꽉 채우고 싶다면 나인패치를 이용하시면 됩니다.. 물론 가로세로 다 FILL로 줘야 하겠죠^^ㅋ
도움이 되셨기를-0-ㅋ
위에분 말씀대로구요^^
만약에 가로로 "버튼, 공백, 버튼, 공백, 버튼" 이렇게 있는 레이아웃을 만든다 치면요.
버튼이 늘어날지? 아니면 공백이 늘어날지? 아니면 같은 비율로 다 같이 늘어날지? 정해야 합니다.
늘어나지 않고 mdpi 같은 단말에서는 줄어들 수도 있지만요^^
그래서 버튼이 늘어나지 않는다면 버튼은 고정 크기 dp 로 주고 공백 부분은 weight 로 처리하던가 그래야 되죠.
또는 버튼이나 공백 모두 늘어나지 않고 더 큰 단말에서는 그냥 중앙 정렬해서 보여줄 수도 있구요^^
만약 버튼 공백 모두 고정 dp 로 준다면 큰 해상도 단말에서는 조그맣게 보일 수도 있겠죠?^^ㅋ
항상 풀로 꽉 차게 보이려면 fill_parent 같은 옵션도 있으니까요, 그런걸 이용하셔야 하구요.




중간에 줄 친 문장은... 제가 써놓고도 보니까 말도 안 되는 이론 전개를 해놨네요.. -_-;
카오스에 빠져서는...
해상도에 따라 절대적인 크기가 같게 보이느냐, 아니면 상대적 비율이 같게 되느냐가 요점입니다.. ㅜㅜ