DisplayInfo

项目地址:ZQiang94/DisplayInfo
简介:display info of device

display info of device
Github 链接https://github.com/ZQiang94/DisplayInfo

Download

扫描二维码进行下载或者点击下载

通过运行 DisplayInfo 获取当前设备屏幕的尺寸信息,运行效果如图(Honor 7): 
通过运行结果可以看出,华为 Honor 7 的屏幕尺寸(4.94 约为 5.0),分辨率(Resolution)为 1080 * 1920(缺少的为下面的按键),DPI 为 480dpi 等信息。另外还有一些 Android 适配时需要了解的尺寸限定符,详细讲解见官方文档对尺寸限定符的解释。

Des:

场景:切图是在 1080 1920 的图上进行标注,套图时该如何进行适配。
现在市场主流的两种分辨率类型(分别是 1080 1920 与 720 1280),具体的分布情况在下图中展示。 如图展示的为 16 年 07 月份分辨率市场分布情况: 查看更详细信息(个推提供)

下面是分辨率与对应基线的关系图

通过上图可以看出,场景中给出的在 480dpi(1080 1920)的标注,要想适配 480dpi 的手机只需要将切图中的标注除以 3 即可(切图中的标注是 px,需要转换成 Android 中的 dp)。 想要使用 480dpi 的标注适配 320dpi(720 * 1280),可以使用先将 420dpi 的设计图缩放成 320dpi 的设计图,借助 ps 可以实现。

 
可以得出,1080 1920 缩放为 720 1280 时:
width:66.67%   height:79.01%
在使用设计图为 480dpi(1080 1920)适配 720 1280 的时候先按照上述比例计算出 720 * 1280 的标注然后再除以 2。

基本概念

https://developer.android.com/reference/android/util/DisplayMetrics.html

1.屏幕尺寸:手机实际物理尺寸,一般用英寸来表示(1 英寸 = 2.54 厘米)。

手机尺寸计算方式=对角线尺寸/2.54 

2.分辨率:屏幕上显示的像素个数,单位尺寸内像素点越多,显示的图像就越清楚。

分辨率 720*1280 表示手机水平方向的像素为 720,垂直方向为 1280.

3.屏幕密度:表示屏幕每英寸有多少个像素。

240dpi(480800) 、320dpi(7201280)、480dpi(10801920)  (这里 240dpi 并不一定是 480 800 的分辨率,设计效果图时不用考虑这些,可以把 480 800 的分辨率“当成”是在 240dpi 下的设计, 因为实际 240dpi 下的分辨率可以和 480 800 的分辨率共用一套切图资源。)

4.单位

dip:dot per inch,就是每英寸的像素数,也叫做屏幕密度。这个值越大,屏幕就越清晰。
ppi:#####对 Android 而言,DPI 等价于 PPI(Pixels-Per-Inch)
px:pixels(像素),屏幕上的点,不同设备不同的显示屏显示效果相同,这是绝对像素,是多少就永远是多少不会改变。
dp:(andriod 开发中用于描述尺寸和间距)与密度无关的像素。
sp:scaled pixels — best for text size (放大像素)(与刻度无关的像素)和 dp 一样,只是用于描述字号和行距。

TODO

记录遇到过的机型信息
进一步创建相应机型的 layout 与 values 资源文件夹(用做测试)
res 下各种文件夹的定义

DisplayInfo相关推荐

  1. 引用类型(一):Object类型

    对象表示方式 1.第一种方式:使用new操作符后跟Object构造函数 var person = new Object();<br/> person.name = 'Nicholas';& ...

  2. Extjs:添加查看全部按钮

    var grid =new Ext.grid.GridPanel({renderTo:'tsllb',title:'产品成本列表',selModel:csm,height:350,columns:[c ...

  3. (转载)虚幻引擎3--9掌握虚幻技术UnrealScript 预处理器

    第九章 – UNREALSCRIPT预处理器 9.1概述 9.2 MACRO(宏)的基础知识 指南 9.1 –您的第一个宏 9.3具有参数的宏 指南 9.2 –       MACRO参数 9.4内置 ...

  4. Ext.ux.form.SearchField使用方法

    这学期一直在做一个管理系统,前台用到了ExtJs,现在开始总结这一学期的学习心得,首先我们从Ext.ux.form.SearchField开始讲,因为这个东西一直困扰我好长时间,直到项目结束前几天我才 ...

  5. ExtJs之Ext.grid.GridPanel(部分未完)

    今天在家休息,年假不用就作费啊. 看了几部香港老电影,陪爸爸看了勇士占奇才, 然后,测试了一下EXTJS未完的内容, 在京东上订了七本历史普及书,近两百块..:) 搞定. ? 1 2 3 4 5 6 ...

  6. ExtJs4–表格--Grid

    1.首先定义对象: Ext.define('log',{extend:'Ext.data.Model',fields:[{name: 'id',mapping:'id'}, {name: 'user' ...

  7. Ext2.0框架的Grid使用介绍(转)

     Ext2.0框架的Grid使用介绍 最近空闲时间在学习Ext2.0框架,只有一个字的感叹"强",我从未想到JS代码能够写出这么绚丽的Web页面出来,以前看到YUI,惊若天人,如今 ...

  8. ExtJS4.2学习(14)基于表格的扩展插件(2)

    我曾经在第6节里讲到表格分页,还记得之前的分页组件是什么样的吗? 上面只有文字显示,我们来为其制作的更美观点,好吧,不卖关子了,讲本节的内容:进度条分页控件,这是表格扩展组件. 首先我们需要引入扩展组 ...

  9. 【SICP练习】30 练习1.36

     练习1.36 这道题要求我们根据书上的newline和display来完成一个新版本的fixed-point.根据题目内容我们分为如下步骤: 1.写出能够打印出计算中产生的近似值序列的函数. 2 ...

最新文章

  1. Cell Research丨潘涛/骆观正合作团队揭示肠道菌群调控宿主RNA甲基化和基因表达新机制...
  2. Windows 10 全新开始屏幕曝光
  3. beego 文件服务器,beego自动化文档
  4. Codeforces 1276C/1277F/1259F Beautiful Rectangle (构造)
  5. 大家都较熟悉之 Kubernetes API 分析
  6. python开发个人博客_手把手教你用 Python + Flask 搭建个人博客
  7. 如何从管理IT服务提供商获得最大收益
  8. 算法-低位优先的字符串排序
  9. 人才缺口40万,摆地摊也没有它挣钱,这个神仙职业今年太火了!
  10. 如何搭建一套完整的深度学习系统?
  11. 二分答案——跳石头(洛谷 P2678)
  12. Java使用独立数据库连接池(DBCP为例)
  13. oracle展bom逻辑,oracle 求BOM树型展开的总用量
  14. jBPM4工作流应用开发指南
  15. Redis基础6(Redis6管道)
  16. Apache Flink 进阶(六):Flink 作业执行深度解析
  17. TestStand版本切换注意事项(重启电脑)
  18. H.265视频编码原理总结
  19. 初识语音合成软件eSpeak
  20. 字节和兆字节的换算_兆字节(MB)中有多少个字节?

热门文章

  1. 1.Java基础_Java入门--001
  2. 前端页面的SEO(搜索引擎)优化小技巧
  3. 2022课堂云 艺术的启示 章节习题
  4. python评估函数_python绘制评估优化算法性能的测试函数
  5. 说说压缩文件“打开密码”的两种模式
  6. OutOfMemoryError的原因有哪些?怎么解决?
  7. modprobe加载异步加载
  8. Python爬虫入门10:select方法快速定位HTML内容
  9. 惠威试音碟高品质MP3版
  10. 微信小程序折叠面板 (类似手风琴 收起展开一样的噢)