디스플레이에 따른 이미지 크기 및 위치 설정 :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-09-11 09:26:51 (0%)
작성자:
제목:디스플레이에 따른 이미지 크기 및 위치 설정
/** ldpi(120dpi /기타 소형단말기) : 240 x 320
 *  mdpi(160dpi/G1, 옵티머스원): 320 x 480
 *  mdpi(160dpi/G1, 갤럭시 탭 7.0,):600 x 1024
 *  mdpi(160dpi/G1, 모토롤라 Xoom 10,갤럭시탭 7.7 & 10.1):1280 x 800
 *  hdpi(240dpi / 갤럭시 S/S2) : 480 x 800
 *  hdpi(240dpi / 모토로라 드로이드, XPERIA X10) : 480 x 854
 *  xhdpi(320dpi / 갤럭시 S3/노트II ) : 720 x 1280
 *  xhdpi(320dpi / 삼성 갤럭시 넥서스 ) : 720 x 1194 or 1280
 *  xhdpi(320dpi / 삼성 갤럭시 노트I  : 800 x 1280
 *  xhdpi(320dpi / LG 옵티머스G, 넥서스4) : 768 x 1280
 *  xxhdpi(480dpi / 갤럭시 S4 & 옵티머스G프로) : 1080×1920
 *  xxxhdpi(640dpi / LG G3) : 1440×2560 */
/** 이미지를 그려줄때 기반이 되는 모바일 디스플레이 사이즈. (이걸 기반으로 이미지를 리사이징해줌.) 현재 320dpi 기반. */
mViewWidth          = 600;
mViewHeight         = 1024;
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public void setPosition(int _x, int _y)
{
    mX                  = (float)(_x / mViewWidth);
    mY                  = (float)(_y / mViewHeight);
}
 
public void setSize(int _w, int _h)
{
    //TODO:: 이미지를 DPI에 맞게 기반이 되는 모바일 디스플레이 DPI의 사이즈 비율로 반환.
    mW                  = (float)((_w / (cGameManager.getInstance().getDisplayMetrics().densityDpi/160)) / mViewWidth);
    mH                  = (float)((_h / (cGameManager.getInstance().getDisplayMetrics().densityDpi/160)) / mViewHeight);
}
 
public Point getPosition()
{
    //TODO:: 원하는 디스플레이 DPI의 사이즈 비율로 변환된 값을 현재 디스플레이의 값을 곱해 현재 디스플레이의 크기에 알맞도록 이미지 위치 설정.
    Point               pos = new Point();
    pos.x               = (int)(mX * cGameManager.getInstance().getDisplayMetrics().widthPixels);
    pos.y               = (int)(mY * cGameManager.getInstance().getDisplayMetrics().heightPixels);
    return pos;
}
 
public int getWidth()
{
    int                 w = (int)(mW * cGameManager.getInstance().getDisplayMetrics().widthPixels);
    return w;
}
 
public int getHeight()
{
    int                 h = (int)(mH * cGameManager.getInstance().getDisplayMetrics().heightPixels);
    return h;
}
cs


1
2
3
4
5
6
7
8
9
public void draw(Canvas _canvas)
{
    if (mEnable == true && mBitmap != null)
    {
        Rect            dst = new Rect();
        dst.set(getPosition().x, getPosition().y, getPosition().x + getWidth(), getPosition().y + getHeight());
        _canvas.drawBitmap(mBitmap, null, dst, null);
    }
}
cs


[본문링크] 디스플레이에 따른 이미지 크기 및 위치 설정
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34821
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.