반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅 굉장히 짧게 지나갑니다 ㅋㅋㅋ
바로 안드로이드 디바이스의 dpi를 구하는 방법에 대해 알아볼려고하는데요.
코드 몇 줄이면 로그로 확인 가능합니다.
DisplayMetrics metrics = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metrics);
Log.d("device dpi", "=>" + metrics.densityDpi);
정말 간단하죠??
이게 어디에 필요할까? 라는 생각이 드실 수도 있는데요.
레이아웃 구성할 때 픽셀값으로 padding 이나 margin을 주어야 한다면
xml에서가 아니라 코드로 주는 방법을 사용하는데요.
xml에서 px을 써도 되지만 경고가 뜨죠 ㅎㅎ 전 경고뜨는 걸 별로 안좋아해서
그냥 코드로 작성해요.
그래서 아래처럼 사용할 수도 있습니다,
public FrameLayout.LayoutParams setFrameMargins(FrameLayout frameLayout, Activity context) {
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) frameLayout.getLayoutParams();
int margin = 0;
DisplayMetrics metrics = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metrics);
Log.d("device dpi", "=>" + metrics.densityDpi);
if (metrics.densityDpi<=160) { // mdpi
margin = 12;
} else if (metrics.densityDpi<=240) { // hdpi
margin = 18;
} else if (metrics.densityDpi<=320) { // xhdpi
margin = 24;
} else if (metrics.densityDpi<=480) { // xxhdpi
margin = 36;
} else if (metrics.densityDpi<=640) { // xxxhdpi
margin = 48;
}
params.setMargins(margin, margin, margin, margin);
return params;
}
이상입니다.
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 SeekBar Custom 커스텀 하는 방법 (0) | 2017.09.14 |
---|---|
맥 mac 에 안드로이드 sha1 추출방법 (0) | 2017.09.12 |
안드로이드 Android 상태표시줄 숨기기, 하단 소프트키 숨기기(몰입모드) (2) | 2017.09.04 |
안드로이드 블루투스 통신 프로토콜 UUID 목록들! android bluetooth protocol UUID List (0) | 2017.07.24 |
안드로이드 블루투스 권한 설정 및 블루투스 기기 검색 android bluetooth permission and search device (0) | 2017.07.24 |