안드로이드 해상도별 좌표+ 이미지 크기 수정하기(변종디스플레이는 적용x)
by GNCkorea | 12.08.10 05:34 | 13,155 hit
화면 사이즈 별 터치 좌표 설정 하기

->
현재 나와있는 안드로이드 폰은 변태폰을 제외하고 비율은 일정합니다.
변태폰까지 지원하려면 해당폰이 기존해상도비율을 벋어날 경우 그 부분만 따로 처리하시면 됩니다.
기본 비율은 겔럭시 s모델이나 넥서스의 기본 해상도인 800 * 480을 기본으로 잡습니다.
(화면 비율 측정하는 준비과정)
>LandScape모드입니다.
WindowManager wm = getWindowManager();
height = wm.getDefaultDisplay().getHeight();
width = wm.getDefaultDisplay().getWidth();
Htemp = (double) height / 480;
Wtemp = (double) width / 800;
이것을 넣어줍니다.
double로 강제 케스팅 한이유는 height/480이 0.xxx인 경우가 있습니다.
만약에 이것이 int형으로 받아진다면 당연히 배율은 0이되어버립니다.
따라서 소수점표현 가능한 double로 합니다.
(더 자세하게 하고 싶으면, float으로 하셔도됩니다.)
가장 작은 HVGA의 경우 겔럭시나 넥서스 해상도에서 0.66 / 0.6배만큼 입니다.
따라서 겔럭시에서 480의 좌표는 HVGA를 가진 폰에서는 화면밖을 인식해버립니다.
이 경우에는 찍은 좌표에서 위의 해상도 배율만큼 곱해버리면 원하는 위치에 잡히게 됩니다.
480에 0.6배면 대략 320정도 됩니다.
이때 중요한건 곱할때도 double형이나 float형으로 곱하셔야됩니다.
480의 좌표는 (int)(480.0*Htemp)로 하셔야 제대로 잡힙니다.
현재 표준으로 제시된것은 총 7종류이며, 이 외의 해상도는 변종이므로 그냥 지원모델에서 빼버리면 됩니다.

또한 이미지 크기도 동일합니다.
9patch 작업을 끝내신 이미지크기는 800 * 480을 기준으로 맞추시던지, 아니면 다른 표준 해상도로
기준을 잡으시고, 위의 배율대로 곱하시면 됩니다.
http://www.androidstudy.co.kr/bbs/board.php?bo_table=B52&wr_id=156/출처


[이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
추천 1

이거슨 꿀팁 다른 게시글

게시물 더보기

이거슨 꿀팁 인기 게시글

  1. 데이터 10GB+1Mbps 무제한 6,500원부터 쓸수…2,116
  2. 3월 알뜰폰 가성비 평생요금제 2가지 6GB 6천…2,098
  3. 클리오 루즈힐 블룸 다이아 립스틱 5종 홈쇼…2,109
  4. 3Mbps 속도 데이터무제한 최저가 검색2,100
  5. 컬쳐랜드에 쿠폰거래소가 새롭게 생겼어요2,062
  6. 해외여행 데이터로밍 일본 태국 대만 최저가…2,042
  7. 아싸컴에서 천만원 이벤트 하는 거 찾았다2,011
  8. skt망 알뜰 통화 데이터 무제한 요금 7개월 5…1,893
  9. 기프티콘은 컬쳐랜드 쿠폰거래소에서 이용하…1,803
  10. 데이터10기가 990원부터 3Mbps무제한 9,000원1,926

2024.04.28 19:00 기준