본문 바로가기

Mobile/Android

[Android] 코드에서 setHeight / setWidth dip 설정

dip : density-Indefendent Pixel (밀도에 독립적인 픽셀)

보통 1인치에 160픽셀이 들어가면 160ppi 또는 160dpi 라고 적음
이 160dpi의 값이 Android 개발에 있어서 기준이 되는 HGVA(320*480) 값

해상도가 다른 화면에서 똑같은 이미지를 보여주는 의미인 추상화된 pixel 개념
이미지를 확대 축소할때 간격을 맞쳐주기 위한 구문
 final int m_iDPI = getResources().getDisplayMetrics().densityDpi; - 160
 final float scale = getResources().getDisplayMetrics().density; - 1.0
 final int m_iHeight = getResources().getDisplayMetrics().heightPixels; - 320
 final int m_iWidth = getResources().getDisplayMetrics().widthPixels - 480

1dip가 몇 pixal인지 구하는 구문
getResources().getDisplayMetrics().density;

xml에서 Height / Width 의 설정은 dip , pixel 가능
코드상에서 Height / Width 의 설정은 pixel 만 가능

- pixel을 dip값으로 변환 과정 -

int d = 45;
float scale = getResources().getDisplayMetrics().density;
final int calHeight = (int)(d*scale);
b.setHeight(calHeight); 
 

'Mobile > Android' 카테고리의 다른 글

[Eclipse] JAD , JadClipse 설치  (1) 2011.09.06
[Android] 구글 뮤직  (0) 2011.09.06
[Android] ActivityNotFoundException  (0) 2011.09.02
안드로이드 설치 2 - 이클립스(eclipse)  (0) 2011.08.31
안드로이드 설치 1 (JDK 설치)  (1) 2011.08.30