android中使用DisplayMetrics获取屏幕参数

--关于Density

int android.graphics.Bitmap.getDensity(),返回bitmap-density(密度)。默认的density就是当前display-density,除非当前应用程序不支持不同的screen-density。

在android.util.DisplayMetrics类中定义了一些变量和常量。

--常量DENSITY_XXX,

int类型,定义了不同级别的密度对应的dpi数值,

低密度,DENSITY_LOW,120,

中密度,DENSITY_MEDIUM,160,

高密度,DENSITY_HIGH,240,

超高密度,DENSITY_XHIGH,320,

默认密度,DENSITY_DEFAULT,160(即中密度)。

--变量widthPixels和heightPixels,

int类型,单位像素,display的absolute-width和absolute-height。

--变量density,

float类型,display的logic-density。是一个scaling-factor,用在Density-Independent-Pixel单位,一个dip就是一个像素。

160dpi的screen提供系统display的baseline。

因此,160dpi的screen-density值为1(160/160),120dpi的screen-density值为0.75(120/160)。

screen-1,已知240x320,1.5"x2" ,可以计算出densityDpi等于160。即240/1.5=160,或320/2=160。再通过densityDpi/160计算出density的值1.0。

screen-2,已知320x480,1.5"x2",可以计算出densityDpi等于240。即320/1.5=240,或480/2=240。再通过densityDpi/160计算出density的值1.5。

--变量densityDpi,

int类型,dots-per-inch。

--关于分辨率和尺寸

分辨率是手机长和宽方向上的像素个数,

尺寸是指屏幕的实际物理大小,

手机尺寸手机尺寸115.5×61×12.45解析得长115.5毫米,宽61毫米,高12.45毫米。

1英寸(inch)等于2.54厘米,

--获取DisplayMetrics对象,再获取屏幕的参数

DisplayMetrics displaysMetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaysMetrics);

--关于scaledDensity

float类型,一个scaling-factor,用于fonts显示,同density相同的值,除非由于基于font-size上的体验需要做微调。

--TyuMainApp.getApp().getResources().getDisplayMetrics()对象中的属性值

--本机上调试时记录的数据

DENSITY_DEFAULT    160    
DENSITY_DEVICE    240    
DENSITY_HIGH    240    
DENSITY_LOW    120    
DENSITY_MEDIUM    160    
DENSITY_TV    213    
DENSITY_XHIGH    320    
density: 1.5, sclaedDensity: 1.5 
densityDpi: 240    
heightPixels: 800, widthPixels: 480

xdpi: 160.42105, ydpi: 160

DisplayMetrics相关推荐

  1. Android基础教程(四)之-----取得手机屏幕大小DisplayMetrics的应用

    2009-11-08 20:15:25 标签:Android 屏幕 手机 基础 教程 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http: ...

  2. android中使用DisplayMetrics获取屏幕参数

    --关于Density int android.graphics.Bitmap.getDensity(),返回bitmap-density(密度).默认的density就是当前display-dens ...

  3. android 分段显示百分比,按百分比设置排名-Android DisplayMetrics

    我喜欢对应用程序中的所有位置使用百分比.我总是使用相同的系统.我是android编程的新手. 这是课程: public class SCREEN { DisplayMetrics dm = new D ...

  4. Android中DisplayMetrics 获取手机屏幕分辨率

    简述: Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体. //get the screen sizeDisplayMetrics ...

  5. android DisplayMetrics

    Android可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题. 手机的分辨率信息是手机的一项重要信息,很好的是,Android已 ...

  6. 手机分辨率Android教程(十二)-- 使用DisplayMetrics获取手机分辨率

    在本篇文章中,我们主要介绍手机分辨率的内容,自我感觉有个不错的建议和大家分享下 在本章教程中,我们将会习学如何应用DisplayMetrics获得手机分辨率. 是这样的,在Android手机如此风扉寰 ...

  7. Android——DisplayMetrics之我见

    Android--DisplayMetrics之我见 写这篇文章主要是因为这个问题困扰我很久,今天终于搞明白了,分享出来供以后查阅. 一.起因 为了适应多屏幕分辨率,可以在res目录下建立不同的lay ...

  8. Android获取屏幕分辨率及DisplayMetrics简介

    Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题. 手机的分辨率信息是手机的一项重要信息,很好的是,Android ...

  9. 获取手机屏幕大小 DisplayMetrics

    方法1: //获取手机屏幕分辨率的类 private DisplayMetrics dm;dm = new DisplayMetrics(); getWindowManager().getDefaul ...

最新文章

  1. 关于 ulimit -SHn 65535
  2. Unity2D游戏开发基础教程1.2项目、资源和场景
  3. python数据结构推荐书-「算法与数据结构」从入门到进阶吐血整理推荐书单
  4. 2021-11-22--中标麒麟-Linux系统扩容根目录磁盘空间
  5. 分析绕过一款适合练手的云WAF
  6. [机器学习]理解熵,交叉熵和交叉熵的应用
  7. github上java项目_GitHub上10,000个最受欢迎的Java项目-以下是他们使用的顶级库
  8. 生产问题分析!delete in子查询不走索引?!
  9. C进阶指南(1):整型溢出和类型提升、内存申请和管理(转)
  10. 安卓逆向系列教程 4.6 去广告
  11. 文本分类(一)封装分词器
  12. opc 多点位一次性读_如何使用Excel通过OPC访问WinCC的实时数据
  13. CDA level 1 业务分析师 推荐学习书目
  14. 12个顶级思维模型,非常值得一看!
  15. 淘宝最新开店卖家店铺采集工具能采集同行信誉等级高的店铺吗
  16. 【C语言】简易版_飞机小游戏
  17. loghouse介绍
  18. MT6737 Android N 平台 Audio系统学习----ALSA Driver
  19. Oracle 12c中增强的PL/SQL功能
  20. 起源于 Kettle 的新一代数据集成平台 Apache Hop 成为 Apache 顶级项目

热门文章

  1. 联络中心的发展方向是SOA
  2. Linux/Centos7系统管理之进程与计划任务管理
  3. 与ISP合作需要了解哪些?
  4. 将传统的落后WAN转换为SD-WAN
  5. [转]HTTPS网络流量解密方法探索系列(一)
  6. 蓝桥杯基础练习--杨辉三角
  7. Tomcat7并发和线程数
  8. PCL中分割_欧式分割(1)
  9. leetcode206.反转链表 解题思路(简单)
  10. 知乎:中国工商银行南宁分行丢失2.5亿,工作人员个人行为,与银行无关