• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
안드로이드 해상도별 좌표+ 이미지 크기 수정하기(변종디스플레이는 적용x)
연속출석 :
1일 랭킹 : 399위 중장7
45%
45% (1541 /3455)
  • 댓글 0 |
  • 추천 1 |
  • 조회 13243 |
  • 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 개발 꿀팁에서 복사 됨]
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    73 일단 안드로이드가 뭔지부터 알고 넘어갈까요? +48 레오쏭 30 4564 11/05/03
    72 안드로이드라는 전쟁에 나가기 위한 준비를 해보자!-1.J… +32 레오쏭 20 4572 11/05/04
    71 어플개발을 위한 무기들을 준비해보자!-2.SDK +21 레오쏭 20 4041 11/05/04
    70 [C언어]강좌3. 내용을 출력해보자. +21 퉁퉁이 14 2734 11/10/16
    69 어플개발을 위한 무기들을 준비해보자!-3.에뮬레이터 +21 레오쏭 14 3957 11/05/04
    68 어플개발을 위한 무기들을 준비해보자!-4.이클립스 +24 레오쏭 13 4350 11/05/05
    67 안녕하세요?뉴페이스 레오입니다~^^ +14 레오쏭 10 2994 11/05/03
    66 에뮬레이터가 아닌 자신의 폰으로 바로바로 확인해보자~! +12 레오쏭 9 7003 11/05/06
    65 Hello~Android 출력해볼까요? +13 레오쏭 9 3394 11/05/08
    64 레알 Hello~Android 출력해볼까요? +8 레오쏭 9 3163 11/05/12
    63 인터페이스?!-키보드로 타이핑을 해볼까? +8 레오쏭 8 5953 11/07/19
    62 액티비티?!-1.버튼,액티비티추가하기 +8 레오쏭 7 3806 11/05/22
    61 권한?!-4.너에게 권한을 주마! +15 레오쏭 6 3086 11/06/28
    60 자바강좌 예제.1 글자를 넣어보자 +6 ★CsJ★ 6 2117 12/02/28
    59 [펌]안드로이드의 역사 +14 레오쏭 6 4418 11/05/14
    58 액티비티?!-2.버튼에 생명을 불어넣자! +12 레오쏭 6 7253 11/05/28
    57 인텐트에 대한 간단한 보충~ +1 레오쏭 5 2112 11/06/28
    56 인터페이스?? +2 레오쏭 5 2520 11/07/03
    55 [펌-초보금지]RAM최적화/LED밝기/내외장SD카드/ 스크립… +9 레오쏭 5 4816 11/10/07
    54 (디버그를 도와줘~)로그캣!!!! +6 레오쏭 5 6597 11/05/19
    53 [C언어]강좌1. C언어를 배우기위해 +1 퉁퉁이 5 3376 11/10/16
    52 액티비티?!-3.집으로 전화거는어플을 만들어볼까요? +4 레오쏭 4 2770 11/06/22
    51 안드로이드 프로그래밍 Tip +3 지워니 4 3685 12/01/27
    50 버튼?!텍스트뷰?! +4 레오쏭 4 2234 11/07/07
    49 인터페이스?!-레이아웃 +1 레오쏭 4 2697 11/07/10
    48 버튼?!-라디오,체크,토글버튼 레오쏭 4 3651 11/08/10
    47 [이벤트] 프로그램강좌 포럼의 활성화를 위하여... +4 쨩쵸딩 4 1631 12/05/21
    46 추석을 기점으로 다시 강좌가 올라갑니다~ +6 레오쏭 4 1835 11/09/03