• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
안드로이드 해상도별 좌표+ 이미지 크기 수정하기(변종디스플레이는 적용x)
연속출석 :
1일 랭킹 : 399위 중장7
45%
45% (1541 /3455)
  • 댓글 0 |
  • 추천 1 |
  • 조회 13258 |
  • 2012-08-10 (금) 17:34
    화면 사이즈 별 터치 좌표 설정 하기

    ->
    현재 나와있는 안드로이드 폰은 변태폰을 제외하고 비율은 일정합니다.
    변태폰까지 지원하려면 해당폰이 기존해상도비율을 벋어날 경우 그 부분만 따로 처리하시면 됩니다.
    기본 비율은 겔럭시 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을 기준으로 맞추시던지, 아니면 다른 표준 해상도로
    기준을 잡으시고, 위의 배율대로 곱하시면 됩니다.


    [이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    45 액티비티?!-3.집으로 전화거는어플을 만들어볼까요? +4 레오쏭 4 2773 11/06/22
    44 안드로이드 프로그래밍 Tip +3 지워니 4 3695 12/01/27
    43 자바강좌 1-2 (자바의 데이터 타입과 연산자) +3 ★CsJ★ 3 2158 12/02/27
    42 윈도우 사용자명 한글일때 에뮬레이터 오류 해결 방법 +3 레오쏭 3 3444 11/09/26
    41 슬라이딩 도어를 만들어 볼까요? +3 레오쏭 3 2835 11/10/02
    40 JAVA 언어 기초 +2 쿠미야 3 1904 12/02/14
    39 자바강좌 1-1 (자바의 데이터 타입과 연산자) +2 ★CsJ★ 2 3025 12/02/26
    38 Android Studio (안드로이드 스튜디오) 단축키 모음! +1 철권 2 8383 15/11/06
    37 안드로이드 유용한 라이브러리 모음! +1 철권 2 6859 15/11/06
    36 안드로이드 크래쉬 로그를 쉽게 확인하는 방법 +1 철권 2 8953 15/11/26
    35 단말기에 해당 어플이 설치되었는지 확인하는 방법 +2 철권 2 9359 15/11/26
    34 [경고를해보자]토스트?!토스트란무엇인가(2) +2 레오쏭 2 2014 11/10/11
    33 [C언어]강좌2. 간단한 실습준비 마무리 퉁퉁이 2 2257 11/10/16
    32 최고의 웹앱 개발 프레임워크 GNCkorea 1 4481 12/08/10
    31 Android Virtual Device(AVD) 사용법 GNCkorea 1 6377 12/08/09
    30 안드로이드 기초 프로그램 1개 실습 및 작성 방법의 설명 GNCkorea 1 4309 12/08/10
    29 안드로이드 프로그램이 죽는 경우 디버깅 방법 GNCkorea 1 4714 12/08/09
    28 삼성 AdHub SDK 심각한 버그 있네요. GNCkorea 1 3677 12/08/10
    27 젤리빈 로그캣 변경점 GNCkorea 1 4321 12/08/10
    26 개인이 앱 판매할 때, 준비해야 할 것들 (사업자 등록 … GNCkorea 1 3808 12/08/10
    25 안드로이드 개발 시, Selector XML을 편하게 만들어봅시… GNCkorea 1 5009 12/08/10
    24 zxing 가로모드에서 세로모드로 변경하기 GNCkorea 1 12384 12/08/10
    23 안드로이드 강좌 2 - 이클립스 개발환경 사용법 및 프로… GNCkorea 1 3951 12/08/09
    22 ViewPager의 아이템 얻어오기. GNCkorea 1 5150 12/08/10
    21 안드로이드 강좌 4 - 액티비티(Activity), 뷰(View), 레… GNCkorea 1 5014 12/08/09
    20 launcherShortCut (바로가기 아이콘)입니다. GNCkorea 1 3759 12/08/10
    19 안드로이드 강좌 5 - XML에서의 TextView, ImageView, L… GNCkorea 1 5069 12/08/09
    18 Bitmap 파일 회전시키기 GNCkorea 1 3979 12/08/10