博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html5开发Android应用屏幕适配问题
阅读量:6158 次
发布时间:2019-06-21

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

hot3.png

Android屏幕适配问题太烦人了,查阅了各种学术名词终于搞定了,下面是调研过程和结果。

各种名词中关键是dpi,通俗来讲dpi就是单位尺寸中的点数。这个“点”是什么东西呢,点是个物理概念,你可以把他看作一个像素(注意只是看成,不完全一样)。

把点理解为像素dpi就变成了ppi——单位尺寸中的像素数。

Android设备分辨率差异比较大,而且各设备dpi还不一样。

这就比较操蛋了,导致同样的像素在不同设备下显示大小不一样。

举个简单的抽象例子,

设备A大小为100100英寸,分辨率为100100,这个时候A的dpi为1。

设备B大小同样为100100英寸,分辨率变为了200200,这个时候B的dpi为2。

然后大小为100*100px的图片在A设备上会铺满屏幕在B设备上却只占半屏,长宽都缩小了一半。

还好Android给出了解决放方案就是用dp来代替px作为单位。dp会根据设备的dpi来转换为像素然后显示。

例如:

在160dpi的设备下1dp=1px;

在320dpi的设备下1dp=2px;

但是用html5开发的时候css的单位没有dp啊,怎么办???

解决问题的关键来了,请注意

要实现适配需要viewport属性,各种资料在谈论html5开发Android应用的时候都谈到了viewport,而且大多数都是这么写的。

<meta name="viewport" content="width=device-width,initial-scale=1">

这么些远远不够,根本没有解决像素适配的问题。系统仍然会采用自身设备的dpi。应该再添加点东西,变成这样

<meta name="viewport" content="width=device-width,initial-scale=1,target-densitydpi=[dpi-value|device-dpi|high-dpi|medium-dpi|low-dpi],user-scalable=no">

具体采用那个dpi值由你的设计师给你的psd图决定。

转载于:https://my.oschina.net/zhaoxiaoben/blog/161456

你可能感兴趣的文章
OC类导入Swift工程演示
查看>>
cmd不能用的解决方法
查看>>
Dell R710服务器磁盘恢复数据库一例(记录)
查看>>
我的友情链接
查看>>
Ionic3 通讯录索引的实现
查看>>
轻松监听Azure service health 状态
查看>>
Matlab 进行FFT
查看>>
Eclipse 工作台用户指导>视图和编辑器
查看>>
项目常用的PHP代码
查看>>
Python自动化开发学习22-Django下(Form)
查看>>
算法-排序
查看>>
解决内存不能为read或者0x0***的错误
查看>>
我的友情链接
查看>>
阿里研究员谷朴:API 设计最佳实践的思考
查看>>
join命令的用法
查看>>
java多线程编程一之java线程的原理
查看>>
【转】Android 轻松实现语音识别
查看>>
【华为HCNA】访问控制列表ACL实例配置
查看>>
CentOS 6.7 配置JSP运行环境之tomcat
查看>>
Java学习进度(2013.03.13)—Struts2学习一
查看>>