안드로이드 개발 질문/답변
(글 수 45,052)
안드로이드 공부를 하면서 화면크기에 맞춰 지원가능하도록 만드는 연습을하고 있는데요
LinearLayout.LayoutParams iparam = (LinearLayout.LayoutParams)dateLayout[innerNum].getLayoutParams(); //한칸 레이아웃 Param수신
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
iparam.width = (int)((320/7)*dm.density); <---------- 이곳이문제입니다.
레이아웃을 7개 생성해서 가로로 쭉 배열하고 이 레이아웃 하나를 화면의 1/7만큼 지정해주기 위해서 이렇게 했는데요
아무리 해도 width로 출력되는 크기가 터무니없이작네요.
320해상도가 기준이되는 해상도고 density만큼 변경해서 설정해주면 된다고 봤는데 뭐가 문제인지 알 수가 없네요.
해상도 개념을 잘못이해 하신 듯 합니다. 320 기준은 무의미 합니다.
가로가 320dp 기준은 qvga, hvga, wvga 기준일 때 입니다.
그 후 많은 해상도의 기기가 나오고 가로를 320dp 단정지을 수 없습니다.
이경우 그냥 윈도우의 가로크기를 읽어와서 7로 나눠주세요.
xml로 하실려면 리니어레이아웃에 weight 속성을 사용하시구요.