博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性...
阅读量:6280 次
发布时间:2019-06-22

本文共 885 字,大约阅读时间需要 2 分钟。

出发点: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寸,以上根据物理尺寸区分手机和平板的方法目前来看是可行的。

转载于:https://www.cnblogs.com/eelee/archive/2013/01/09/2852981.html

你可能感兴趣的文章
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>