获取当前手机屏幕尺寸
2017-06-23 11:13
253 查看
屏幕尺寸 指的就是 对角线尺寸
private void setRealDeviceSizeInPixels() {
WindowManager windowManager = mContext.getWindowManager();
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
// since SDK_INT = 1;
mWidthPixels = displayMetrics.widthPixels;
mHeightPixels = displayMetrics.heightPixels;
// includes window decorations (statusbar bar/menu bar)
if (Build.VERSION.SDK_INT >= 14 && Build.VERSION.SDK_INT < 17) {
try {
mWidthPixels = (Integer) Display.class.getMethod("getRawWidth").invoke(display);
mHeightPixels = (Integer) Display.class.getMethod("getRawHeight").invoke(display);
} catch (Exception ignored) {
}
}
// includes window decorations (statusbar bar/menu bar)
if (Build.VERSION.SDK_INT >= 17) {
try {
Point realSize = new Point();
Display.class.getMethod("getRealSize", Point.class).invoke(display, realSize);
mWidthPixels = realSize.x;
mHeightPixels = realSize.y;
} catch (Exception ignored) {
}
}
double x = Math.pow(mWidthPixels / displayMetrics.xdpi, 2);
double y = Math.pow(mHeightPixels / displayMetrics.ydpi, 2);
double screenInches = Math.sqrt(x + y);
Log.i("LogInfo", "Screen inches : " + screenInches);
我打印过这个值,有细微差别,不影响使用。建议和产品经理确认。
private void setRealDeviceSizeInPixels() {
WindowManager windowManager = mContext.getWindowManager();
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
// since SDK_INT = 1;
mWidthPixels = displayMetrics.widthPixels;
mHeightPixels = displayMetrics.heightPixels;
// includes window decorations (statusbar bar/menu bar)
if (Build.VERSION.SDK_INT >= 14 && Build.VERSION.SDK_INT < 17) {
try {
mWidthPixels = (Integer) Display.class.getMethod("getRawWidth").invoke(display);
mHeightPixels = (Integer) Display.class.getMethod("getRawHeight").invoke(display);
} catch (Exception ignored) {
}
}
// includes window decorations (statusbar bar/menu bar)
if (Build.VERSION.SDK_INT >= 17) {
try {
Point realSize = new Point();
Display.class.getMethod("getRealSize", Point.class).invoke(display, realSize);
mWidthPixels = realSize.x;
mHeightPixels = realSize.y;
} catch (Exception ignored) {
}
}
double x = Math.pow(mWidthPixels / displayMetrics.xdpi, 2);
double y = Math.pow(mHeightPixels / displayMetrics.ydpi, 2);
double screenInches = Math.sqrt(x + y);
Log.i("LogInfo", "Screen inches : " + screenInches);
我打印过这个值,有细微差别,不影响使用。建议和产品经理确认。
相关文章推荐
- android获取屏幕尺寸、密度(判断手机屏幕类型)
- android获取手机屏幕的尺寸
- 获取当前IOS设备的CPU型号,CPU核数,GPU,GPU核数,屏幕分辨率,屏幕尺寸,PPI等信息
- Google map获取手机屏幕当前显示地图的范围
- New UI-获取手机屏幕尺寸与分辨率,屏幕适配,横竖屏问题
- 【转载】如何获取安卓手机屏幕尺寸
- iOS获取当前屏幕的尺寸和分辨率
- android获取屏幕尺寸、密度(判断手机屏幕类型)
- Android开发_获取手机屏幕的尺寸
- PC端获取Android手机当前屏幕截图的方法
- Windows Phone 8 学习备忘(如何获取手机屏幕的物理尺寸)
- New UI-获取手机屏幕尺寸与分辨率,屏幕适配,横竖屏问题 .
- PC端获取Android手机当前屏幕截图的方法
- Android中获取当前屏幕的尺寸大小
- android获取屏幕尺寸、密度(判断手机屏幕类型)
- 如何获取手机屏幕尺寸
- android获取屏幕尺寸、密度(判断手机屏幕类型)
- 获取屏幕尺寸大小,使程序能在不同大小的手机上有更好的兼容性
- android 中获取手机的屏幕的尺寸
- android获取屏幕尺寸、密度(判断手机屏幕类型)