码迷,mamicode.com
首页 > 移动开发 > 详细

采用CSS3 Media Query技术适应Android平板屏幕分辨率和屏幕像素密度

时间:2015-09-16 19:52:25      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

         采用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平板屏幕分辨率和屏幕像素密度

标签:

原文地址:http://www.cnblogs.com/lcchuguo/p/4814001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!