出发点:Android系统本身是支持多种分辨率的,如图1所示,一般情况下要适配不同尺寸的设备只需要做两件事,1. 根据4种不同的屏幕尺寸提供4套UI布局(layout)。 2. 根据4种不同屏幕像素密度(单位英寸的像素值)提供4套界面元素的图片。

图1 Android屏幕分类

而实际应用合并过程中存在的问题是:同一个应用对应的手机和平板界面设计是完全不一样的,如何根据屏幕的大小来决定提供哪一套界面是一件很头疼的事情。

目的:根据分辨率来区分手机和平板的不合理性在于:

1. 分辨率高但是物理屏幕尺寸小的设备(比如三星5.3寸的galaxy NOTE1280*800 手机)采用平板布局后的可点击界面元素太小,很难点中。

2. 分辨率小但是物理屏幕尺寸大的设备采用手机布局后界面元素过大,显得整体UI粗糙。

所以目前通过屏幕尺寸来区分手机和平板相对合理,主要目的是验证如下调整的可行性

分辨率与屏幕尺寸的换算:首先要了解Android分辨率相关基础概念

手机像素密度(density)实际上是以单位英寸160个像素作为参考标准,主要密度有0.75,1,1.5和2,当密度为2时就表示1英寸有320个像素,Android中通过代码可以获取到屏幕的像素值和密度,根据这些值就可以反向算出屏幕的物理尺寸

屏幕尺寸=屏幕对角线的像素值/(密度*160)=   / (密度*160)

实践过程:

由于Android设备中获取的密度density本身是个约等于的数值,比如计算出密度的准确值density=1.575,实际在代码中读到的density=1.5, 需要实现一个简单的计算屏幕尺寸的应用在不同设备上验证物理尺寸准确程度,具体代码如下:

实践结果:几个不同设备(手机和平板)的测试结果如下:

结论:手机上根据分辨率反向算出的屏幕物理尺寸比较准确,平板则误差较大,但是结果基本上是大于6寸,以上根据物理尺寸区分手机和平板的方法目前来看是可行的。

Android平台根据分辨率计算屏幕尺寸相关推荐

  1. Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性

    Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性   出发点:Android系统本身是支持多种分辨率的,如图1所示,一般情况下要适配不同尺寸的设备只需要做两件事, ...

  2. 屏幕分辨率、屏幕尺寸、屏幕像素、屏幕密度完全解析

    在此做笔记方便查看: 原文见 :点击打开链接 http://www.chinaz.com/manage/2015/0902/441624.shtml 另:关于屏幕的适配:参考文章点击打开链接 http ...

  3. 分辨率与屏幕尺寸之间的关系

    [全解析]屏幕尺寸,分辨率,像素,PPI之间到底什么关系? 2015-09-02 12:22 稿源:产品100  5条评论  撤稿纠错 今天我给大家来讲讲这几个咱们经常打交道的词到底啥意思,以及他们之 ...

  4. Android 安兔兔测试屏幕尺寸与实际不符的问题修改

    Android 安兔兔测试屏幕尺寸与实际不符的问题修改 此修改为展讯平台 Android11 kernel/kernel4.14/arch/arm/boot/dts/lcd/lcd_XXX.dtsi ...

  5. IOS 判断设备屏幕尺寸、分辨率 根据屏幕尺寸和分辨率

    IOS 判断设备屏幕尺寸.分辨率 根据屏幕尺寸和分辨率,ios现在数起来有6个版本. iOS 设备现有的分辨率如下: iPhone/iPod Touch 普通屏                     ...

  6. 屏幕分辨率和屏幕尺寸之间的关系

    虽然这是一个很基础的问题,但是大多数人都对其有不少误解. 首先说一下屏幕尺寸,通常描述屏幕尺寸我们会用英寸来表示,比如说iphone6sp的尺寸是5.5英寸,但是英寸其实是长度单位,1英寸=2.54厘 ...

  7. 屏幕分辨率与屏幕尺寸关系

    一.屏幕分辨率是指屏幕可显示的最高像素数目. 二.屏幕尺寸显而易见,是指其面积. 三.另外还有一个术语叫"点距",就是屏幕上像素与像素之间的距离,也就是代表单位面积内像素点数目的一 ...

  8. 华为p10 android几,华为P10的屏幕尺寸是多少?分辨率是多少?

    华为P10的屏幕尺寸是多少 华为P10的屏幕尺寸是5.1英寸. 针对华为P10的屏幕尺寸是多少的问题,华为P10内置3200mAh电池,支持SuperCharge低压快充,更有15层安全保护机制,理论 ...

  9. Android 系统(83)---屏幕尺寸

    Android屏幕尺寸详解 1.重要概念 随着Android厂商对系统的不断定制,Android出现越来越多不同尺寸的手机,由于尺寸和分辨率等不同,从而导致Android的适配成为一个老大难的问题,今 ...

  10. 教你彻底弄清楚dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系

    一.基本概念 dip        : Density independent pixels ,设备无关像素. dp        :就是dip px        : 像素 dpi       :d ...

最新文章

  1. 文件分区格式化及挂载
  2. MySQL中,当update修改数据与原数据相同时会再次执行吗?
  3. hadoop集群硬盘损坏_Hadoop集群(万台规模)的磁盘故障自动处理
  4. python【蓝桥杯vip练习题库】BASIC-9特殊回文数
  5. 三十一、Java多线程编程(下篇)
  6. 小米手环4今日发布:除了大屏彩显 你期待的全都有了
  7. 【Flink】Flink Flink 1.14 新特性预览
  8. 无熟人难办事?—迪米特法则
  9. DispatchAction
  10. 为什么人和人的差距这么大?
  11. (Word论文插入高清图片)软件设置教程
  12. EasyUI(DataGrid修改删除)
  13. 如何正确计算LINUX内存使用率
  14. 我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?
  15. 岁月划过生命线(我的2013-大二.上)
  16. flowable 会签和或签的实现 任务多实例
  17. 八个不得不知的重要法则 让你更懂互联网
  18. 高中数学基础01:集合与函数
  19. Jmter的接口测试提升篇
  20. 从SPACE矩阵,看5G究竟是否在走向成功?

热门文章

  1. 安卓控件button添加背景图片
  2. 【问题解决方案】电脑版微信如何使用外接摄像头
  3. ps -aux | grep xxx详解
  4. SVN Commit failed(details follow)
  5. Java MD5签名需要使用UTF-8格式,利用MD5加密后转成大写
  6. 国家图书馆认证中国长峰制定的《婴幼儿血管瘤临床路径》
  7. 方程组在原点附近解matlab,前置血管常发生于A.副胎盘B.胎盘血管瘤C.双叶胎盘D.帆状胎盘...
  8. 疯狂原始人手游怎么用电脑玩 疯狂原始人手游PC电脑版教程
  9. Pure Strategy Game
  10. 枕头Python 3