采用HTML5在开发移动应用程序满足各种需求Android分辨率和屏幕的平板设备密度,这是非常麻烦的过程,最终的解决方案是使用css media query,匹配相同的时间分辨率和屏幕像素密度。上进行兼容性測试,终于保证在多数Android平板上都能较好的显示。

一个典型的针对设备的Css Media Query写法例如以下。能够保证页面高度充满屏幕,简单的设置height:100%是不行的。

//SAMSUNG N5100, Nexus7 1,
@media only screen
and (min-device-height : 790px)
and (max-device-height : 810px)
and (-webkit-min-device-pixel-ratio: 1.3)
and (-webkit-max-device-pixel-ratio: 1.4)
and (orientation : landscape) {
.nav-item{
padding: $nav-item-iconSize + 12 3px 3px 0;
&:before{
top: 12px;
}
}
body{
height: 601px;
}
.category-content,
.category-content-2,{
.category-list{
padding: 10px 10px;
.list-item{
margin: 10px 15px;
}
}
}
}

以下是适配时收集的各种平板的分辨率数据,细致研究还是能发现不少问题的,能够看出假设分辨率是1280*800,屏幕密度是1.33125。那么相应css中的高度应该是600.99px。底部虚拟按键占48px。有了这些数据就能够做屏幕适配了。

三星 N5100平板,android4.4

07-15 11:12:56.316: E/metrics.density(23926): DisplayMetrics{density=1.33125, width=1280, height=800, scaledDensity=1.7306249, xdpi=189.02325, ydpi=188.14815}

07-15 11:16:33.296: I/Web Console(25284): devicePixelRatio= 1.3312499523162842 screen.width=1280 screen.height=800  window.outerWidth1280:79

三星 GT-5110

07-22 10:06:13.662: E/metrics.density(3438): DisplayMetrics{density=1.0, width=1280, height=752, scaledDensity=1.0, xdpi=149.82489, ydpi=149.41176}

07-22 10:06:17.037: I/Web Console(3438): devicePixelRatio= 1 screen.width=1280 screen.height=800  window.outerWidth1280:89

华为Media pad 10 fhd

07-22 12:12:34.501: E/metrics.density(29949): DisplayMetrics{density=1.5, width=1920, height=1128, scaledDensity=1.9499999, xdpi=224.73732, ydpi=224.11765}

07-22 12:12:36.824: I/Web Console(29949): devicePixelRatio= 1.5 screen.width=1920 screen.height=1200  window.outerWidth1920 at file:///android_asset/www/js/app.js:89

联想 S5100

07-22 14:07:45.107: E/metrics.density(2541): DisplayMetrics{density=1.3312501, width=1280, height=736, scaledDensity=1.3312501, xdpi=213.0, ydpi=213.0}

华为X1

07-23 13:41:30.180: E/metrics.density(13387): DisplayMetrics{density=2.0, width=1824, height=1200, scaledDensity=2.0, xdpi=324.255, ydpi=322.966}

07-23 13:41:32.870: I/Web Console(13387): devicePixelRatio= 2 screen.width=1200 screen.height=1920  window.outerWidth1824 at file:///android_asset/www/js/app.js:89

版权声明:本文博主原创文章,转载请保留源http://blog.csdn.net/offbye

采用CSS3 Media Query技术适应Android平板屏幕分辨率和屏幕像素密度的更多相关文章

  1. CSS3 Media Query实现响应Web设计(宽度为不同的移动设备)

    现在的屏幕分辨率.小到320px(iPhone),大到2560px或甚至更高(大显示屏).范围内变化很大.除了使用传统的台式机.用户会越来越多的通过手机.上网本.iPad一类的平板设备来浏览页面. 这 ...

  2. [转]CSS3 Media Query实现响应布局

    讲到响应式布局, 相信大家都有一定的了解,响应式布局是今年很流行的一个设计理念,随着移动互联网的盛行,为解决如今各式各样的浏览器分辨率以及不同移动设备的显示效果, 设计师提出了响应式布局的设计方案.今 ...

  3. 利用media query让背景图适应不同分辨率的设备

    随着上网方式的多样化,用户选择上网的工具不再仅是PC,而可以是手机,或者平板电脑.随之而来的问题是如何让网页适应不同分辨率,这给前端工程师们带来了新的挑战,其中重要的一点是如何让图片能在不同的分辨率下 ...

  4. 让IE支持CSS3 Media Query实现响应式Web设计

    如今的屏幕分辨率,小至320px(iPhone),大到2560px甚至更高(大显示器),变化范围极大.除了使用传统的台式机,用户会越来越多的通过手机.上网本.iPad一类的平板设备来浏览页面.这种情况 ...

  5. CSS3 Media Query

    在移动端火爆的今日,一个好的web应用不仅仅要有对应移动平台的APP,自己web网页也需要对不同屏幕大小的移动设备进行支持,也就是我们所说的响应式web页面. 本篇文章就来介绍下最常见的响应式页面的实 ...

  6. CSS3 Media Query 响应式媒体查询

    在CSS中,有一个极其实用的功能:@media 响应式布局.具体来说,就是可以根据客户端的介质和屏幕大小,提供不同的样式表或者只展示样式表中的一部分.通过响应式布局,可以达到只使用单一文件提供多平台的 ...

  7. Respond.js – 让 IE6-8 支持 CSS3 Media Query

    Respond.js 是一个快速.轻量的 polyfill,用于为 IE6-8 以及其它不支持 CSS3 Media Queries 的浏览器提供媒体查询的 min-width 和 max-width ...

  8. Respond.js让IE6-8支持CSS3 Media Query

    原文地址:http://caibaojian.com/respondjs.html   使用方式   官方demo地址:http://scottjehl.github.com/Respond/test ...

  9. HTML-HTML5+CSS3权威指南阅读(二、让IE支持HTML5标签及对CSS3 Media Query的兼容)

    兼容解决 HTML5是在低版本的浏览器(IE8-)的兼容是有限的,类似很多结构性的标 签<header>.<section>.<footer>等在IE8以下不会被识 ...

随机推荐

  1. 字符串匹配的KMP算法(转)

    字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD" ...

  2. wamp在win7下64位系统memcache/memcached安装教程

    折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别  在自己的新程序中打算全面应用memcached ...

  3. LeetCode: Unique Binary Search Trees [095]

    [题目] Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For ...

  4. iOS使用CoreImage处理图像40中可用的滤镜名称

    NSString* localPath = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"] ...

  5. windows phone (12) 小试自定义样式

    原文:windows phone (12) 小试自定义样式 样式在BS开发中经常用到,在wp中系统也提供了解决办法,就是对设置的样式的一种资源共享,首先是共享资源的位置,它是在App类中,之前我们已经 ...

  6. windows phone 页面导航(6)

    原文:windows phone 页面导航(6) 页面导航的例子我们使用的是两个页面,从第一个页面(MainPage)导航到第二个页面(SecondPage),然后可以从第二个页面导航到第一个页面 , ...

  7. Linux从零到高手的进阶心得(转)

    从2006年毕业至今,从事IT行业已经接近8个年头. 一路走来有很多心路历程和技术心得都写在了51CTO的博客中,不少文字现在看来已显稚嫩,但是这正是我真实的成长之路.这八年,从最基础的网络管理员开 ...

  8. js调用百度地图接口

    原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...

  9. Git打补丁常见问题

    Git打补丁常见问题 往往觉得得到某个功能的补丁就觉得这个功能我就已经成功拥有了,可是在最后一步的打补丁的工作也是须要相当慎重的,甚至有可能还要比你获取这个补丁花费的时间还要多.看到好多同行遇到这个问 ...

  10. 【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见

    内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...