美文网首页
android 获取设备物理尺寸

android 获取设备物理尺寸

作者: menggod | 来源:发表于2016-10-27 11:13 被阅读461次
 DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    double x = Math.pow(dm.widthPixels/dm.xdpi,2);
    double y = Math.pow(dm.heightPixels/dm.ydpi,2);
    double screenInches = Math.sqrt(x+y);
    Log.d("debug","Screen inches : " + screenInches);

在Android 4.0 之前可以通过下面的方式获取屏幕的宽高:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int mScreenW = dm.widthPixels; //得到宽度
int mScreenH = dm.heightPixels; //得到高度```

通过上面的方法在4.0之前,获得的是屏幕的总宽和总高,包括状态栏的高度和导航栏的高度,例如一个480 * 800的设备,通过上面的方法获取的值是480和800,但在4.0后上面的方法获取的高度就是除去导航栏高度外余下的高度值,例如如果导航栏的高度是48的话,在4.0后通过上面的方法获取的 mScreenH 的值是等于 480 - 48 = 432.

所以,如果想要在4.0后获取屏幕的总高度的话,需要采用下面的方法:

Display display = getWindowManager().getDefaultDisplay();
Point point = new Point();
display.getRealSize(point);
int mScreenH = point.y;
int mScreenW = point.x;

这样获取的宽高才是480和800.



public String getScreen() {
int screenH = 0;
int screenW = 0;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
Display display = getWindowManager().getDefaultDisplay();
Point point = new Point();
display.getRealSize(point);
screenH = point.y;
screenW = point.x;
} else {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
screenW = dm.widthPixels; //得到宽度
screenH = dm.heightPixels; //得到高度
}
String screen =screenW+"*"+screenH;
return screen.trim();}

相关文章

  • android 获取设备物理尺寸

    在Android 4.0 之前可以通过下面的方式获取屏幕的宽高: Display display = getWin...

  • 模拟器创建

    Android程序可以运行到手机和平板电脑等物理设备上,当运行程序时,没有相应屏幕尺寸的物理设备时,可以使用And...

  • flutter 基本操作

    获取一个uuid 获取设备横竖方向, 尺寸,DPR 获取父元素的尺寸

  • Android获取准确屏幕尺寸

    Android获取准确屏幕尺寸

  • Android设备尺寸

    被设计师支配的恐惧 很多的入门程序猿,对于android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必...

  • iOS 获取设备信息

    获取iOS设备信息 获取 当前设备 可用内存 及当前 应用 所占内存 获取物理内存 获取硬盘内存 获取本地 获取网...

  • 移动端必备基础知识

    4个像素 物理像素(设备像素--dp):通常指设备的分辨率。物理像素是设备呈像的最小单位---屏幕尺寸:屏幕对角线...

  • Android 7.0拍照获取相片报错原因

    前言 应用中调用系统相机拍照,并希望获取全尺寸图片,这本是很简单常用的功能,不过在Android 7.0的设备上竟...

  • 移动端适配

    让页面在不同尺寸的设备上都能合理排版显示 前置知识 1. 设备的一些物理属性 屏幕尺寸:屏幕对角线的长度 设备像素...

  • lib-flexible 不同分辨率下的自适应

    像素关键概念 设备像素:设备的物理像素,其尺寸大小是绝对的 逻辑像素:css 的像素单位,其尺寸是相对的,也称作独...

网友评论

      本文标题:android 获取设备物理尺寸

      本文链接:https://www.haomeiwen.com/subject/ergjuttx.html