안드로이드 개발을 하다보면 dip단위를 사용해야 폰의 화면 사이즈에 따른 문제를 극복할수가 있다...
그러나... 레이아웃에서가 아닌 동적으로 View들을 생성해서 사용하다 보면.. 본의아니게(?)ㅋㅋ pixel을 사용해야할 때가 있다..
그럴경우... 320사이즈폰에서.. 10pixel을.. 480에서도 10pixel을 하면.. 이미지가 작아진다... 배치가 안맞춰질것이다..
이미지는 안드로이드가 알아서 확대를 해주는데 그럼 이미지도 짤리는 상황이 연출된다...
그럴경우는 320에서의 10pixel이 480에서는 얼마인지 계산해주면 된다..
제가 개발해보기로는 320에서 1픽셀이.. 1dip였는데.... 뭐 계산하면. 1.5픽셀인데..ㅎㅎ
--------------------------------------
public static float getDisplayMetricsDensity(Context context)
{
return context.getResources().getDisplayMetrics().density;
}
public static int getPixel(Context context, int p)
{
float den = getDisplayMetricsDensity(context);
if(den != 1)
{
return (int)(p*den+0.5);
}
return p;
}
--------------------------------------
위의 메소드를 이용하면 자동으로 계산할수 있다..
'web standard > mobile' 카테고리의 다른 글
모바일기기 해상도 체크 (0) | 2014.01.29 |
---|---|
안드로이드에서 레이어팝업 (0) | 2011.03.21 |
모바일웹사이트 제작시 고려사항 (0) | 2010.12.02 |
뷰포트(VIEWPORT) (0) | 2010.11.30 |
css3 media 쿼리 예시(모바일웹) (0) | 2010.11.30 |