public static int SCREEN_WIDTH = 0;
public static int SCREEN_HEIGHT = 0;
/**
* 소프트키를 포함한 화면 전체해상도를 가져온다.
* @param context
*/
public static void setScreenInfo(Context context){
if(Build.VERSION.SDK_INT>=14)
{
android.view.Display display = ((WindowManager) context.getSystemService(context.WINDOW_SERVICE)).getDefaultDisplay();
Point realSize = new Point();
try {
Display.class.getMethod("getRealSize", Point.class).invoke(display, realSize);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SCREEN_WIDTH=realSize.x;
SCREEN_HEIGHT=realSize.y;
}else{
DisplayMetrics dmath=context.getResources().getDisplayMetrics(); // 화면의 가로,세로 길이를 구할 때 사용합니다.
SCREEN_WIDTH=dmath.widthPixels;
SCREEN_HEIGHT=dmath.heightPixels;
}
}
/**
* 소프트키를 미포함한 화면 전체해상도를 가져온다.
* @param context
*/
public static void setNoSoftKeyScreenInfo(Context context){
DisplayMetrics dmath=context.getResources().getDisplayMetrics(); // 화면의 가로,세로 길이를 구할 때 사용합니다.
SCREEN_WIDTH=dmath.widthPixels;
SCREEN_HEIGHT=dmath.heightPixels;
}
/**
* 소프트키 존재 여부를 가져온다.
* @param context
*/
public static boolean isScreenSoftKey(Context context) {
boolean isKey = false;
if (Build.VERSION.SDK_INT >= 14) {
boolean hasMenuKey = ViewConfiguration.get(context)
.hasPermanentMenuKey();
boolean hasBackKey = KeyCharacterMap
.deviceHasKey(KeyEvent.KEYCODE_BACK);
if (!hasMenuKey && !hasBackKey) {
isKey = true;
} else {
isKey = false;
}
} else {
isKey = false;
}
return isKey;
}
'Android' 카테고리의 다른 글
안드로이드 코드에서 마진 주기 (0) | 2016.06.22 |
---|---|
안드로이드 Px to Dip (0) | 2016.06.22 |
안드로이드 리스트 뷰 만들기 (0) | 2016.01.25 |
버튼 Press 정의 (0) | 2016.01.12 |
안드로이드 Menu 객체 만들기 (0) | 2016.01.05 |