Android 屏幕密度及其分辨率获取
2017-10-16 16:36
399 查看
以下是三种常见的获取方法:
// 1、windowManager 获取
private void windowManager_ScreenDensity() {
//DisplayMetrics 封装了显示区域的各种属性
//实例化分辨率容器
DisplayMetrics displayMetrics = new DisplayMetrics();
//获取分辨率信息
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int width = displayMetrics.widthPixels;
int height = displayMetrics.heightPixels;
//屏幕密度
//每英寸内容容纳的点的个数
/*
常用的几个值
DENSITY_LOW = 120
DENSITY_MEDIUM = 160 //默认值
DENSITY_TV = 213 //TV专用
DENSITY_HIGH = 240
DENSITY_XHIGH = 320
DENSITY_400 = 400
DENSITY_XXHIGH = 480
DENSITY_XXXHIGH = 640
*/
int dpi = displayMetrics.densityDpi;
float density = displayMetrics.density;
Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);
}
//2、resource 资源获取
private void resources_ScreenDensity() {
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int width = displayMetrics.widthPixels;
int height = displayMetrics.heightPixels;
int dpi = displayMetrics.densityDpi;
float density = displayMetrics.density;
Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);
}
//3、display 获取
//Display 代指显示区域这个对象,它可以是真实的物理屏幕,或指程序的显示区域
private void default_ScreenDensity() {
Display display = getWindowManager().getDefaultDisplay();
int disId = display.getDisplayId();
Point point = new Point();
display.getSize(point);
int width = point.x;
int height = point.y;
Log.e("HyDetection", "width-->" + width + "---" + "height-->" + height + "---disId-->" + disId);
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
width = displayMetrics.widthPixels;
height = displayMetrics.heightPixels;
int dpi = displayMetrics.densityDpi;
float density = displayMetrics.density;
Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);
}
// 1、windowManager 获取
private void windowManager_ScreenDensity() {
//DisplayMetrics 封装了显示区域的各种属性
//实例化分辨率容器
DisplayMetrics displayMetrics = new DisplayMetrics();
//获取分辨率信息
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int width = displayMetrics.widthPixels;
int height = displayMetrics.heightPixels;
//屏幕密度
//每英寸内容容纳的点的个数
/*
常用的几个值
DENSITY_LOW = 120
DENSITY_MEDIUM = 160 //默认值
DENSITY_TV = 213 //TV专用
DENSITY_HIGH = 240
DENSITY_XHIGH = 320
DENSITY_400 = 400
DENSITY_XXHIGH = 480
DENSITY_XXXHIGH = 640
*/
int dpi = displayMetrics.densityDpi;
float density = displayMetrics.density;
Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);
}
//2、resource 资源获取
private void resources_ScreenDensity() {
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int width = displayMetrics.widthPixels;
int height = displayMetrics.heightPixels;
int dpi = displayMetrics.densityDpi;
float density = displayMetrics.density;
Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);
}
//3、display 获取
//Display 代指显示区域这个对象,它可以是真实的物理屏幕,或指程序的显示区域
private void default_ScreenDensity() {
Display display = getWindowManager().getDefaultDisplay();
int disId = display.getDisplayId();
Point point = new Point();
display.getSize(point);
int width = point.x;
int height = point.y;
Log.e("HyDetection", "width-->" + width + "---" + "height-->" + height + "---disId-->" + disId);
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
width = displayMetrics.widthPixels;
height = displayMetrics.heightPixels;
int dpi = displayMetrics.densityDpi;
float density = displayMetrics.density;
Log.e("HyDetection", "width->" + width + "--height-->" + height + "--dpi-->" + dpi + "---density-->" + density);
}
相关文章推荐
- 【分辨率】Android 获取屏幕尺寸与密度
- android:获取屏幕分辨率,屏幕密度
- 笔记80--android中的分辨率和屏幕密度,获取屏幕大小
- Android开发之如何获取Android手机屏幕的大小(分辨率、密度)
- Android屏幕分辨率、密度的正确获取
- android手机Android屏幕分辨率、密度的正确获取
- Android系统信息获取 之十二:获取屏幕分辨率及密度
- android中的长度单位,dip、dp、px、sp及获取屏幕分辨率和密度
- 怎样获取Android手机屏幕的大小(分辨率、密度)
- Android获取手机的屏幕分辨率和密度
- [android基础]怎样获取Android手机屏幕的大小、分辨率、密度
- Android开发之如何获取Android手机屏幕的大小(分辨率、密度)
- Android系统信息获取 之十二:获取屏幕分辨率及密度
- Android获取屏幕分辨率及DisplayMetrics简介
- Android获取屏幕分辨率
- Android屏幕密度(Density)和分辨率的解释
- Android计量单位px,in,mm,pt,dp,dip,sp和获取屏幕尺寸与密度
- Android获取屏幕分辨率及DisplayMetrics简介
- Android获取屏幕分辨率及DisplayMetrics简介
- Android 获取屏幕尺寸与密度