출처 : stardust - 안드로이드 해상도
안드로이드의 3가지 해상도 범주
LDPI
-Density(인치당 픽셀수) : 120 , dp = px * 1.33
MDPI
-Density : 160, dp = px * 1.0
HDPI
-Density : 240, dp = px * 0.66
이해를 돕기위한 예제
--> 각기 다른 해상도에서 똑같은(비슷한) 크기로 이미지를 보여주기위해
LDPI 9x9
MDPI 12x12
HDPI 16x16 으로 작성
==> dp 는 모두 약 10x10 크기가 된다.
dip 공식 = px * (160/density)
즉, MDIP 의 dip 는 픽셀값과 동일함
dip : dot independent pixel
예제 >>>
ex)
1.
640*480 해상도
4*3 인치
픽셀밀도 : 160dpi
10dp 객체 10px 로 보임
2.
640/480 해상도
8*6 인치
픽셀밀도 : 80dpi
10dp 객체 20px 로 보임
sp : scaled pixcel
pts: points. 텍스트 크기 . 1pts = 1/72 인치
in : inches
mm : millimeters
<**>
겔럭시 노트 해상도
WxH : 800x1280
density : 2.0(xdpi) 즉 160x2 = 320 dpi
기기의 해상도 확인코드
DisplayMetrics displayMetrics = new DisplayMetrics();
int deviceWidth = displayMetrics.widthPixels;
int deviceHeight =displayMetrics.heightPixels;
Toast.makeText(this, ""+displayMetrics.density +"\n W : " +deviceWidth + "\n H : "+deviceHeight, Toast.LENGTH_LONG).show();
[출처] 안드로이드사이드 - http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=71900#c_71906
참고링크
http://javaexpert.tistory.com/310
안드로이드 개발자 센터의 해상도에 관한 정보
http://developer.android.com/guide/practices/screens_support.html
결론-->
안드로이드 권고사항(mdpi기준) 보다는 우리나라 특성상 ( 또는 기기의 분포상 ) hdpi 기준으로 만드는게 좋다.
크기 단위는 dp, sp 를 사용해서 작업해라.
'Programming > Android' 카테고리의 다른 글
[Android] 안드로이드 키보드 보이기, 숨기기 (0) | 2016.02.05 |
---|---|
[Android] 해상도와 dpi, px, dp, dip, sp의 관계 (0) | 2016.02.03 |
[Android] Android에서 jsp로 데이터 요청하고 json으로 받기 (4) | 2016.02.03 |
[Android] 문자열로 Resource 가져오기 (0) | 2016.01.11 |
[Android] 다음지도에서 모바일 화면 영역의 상단왼쪽 좌표를 구하는 방법 (0) | 2016.01.05 |