html适配Anroid手机

本文完全是翻译与总结谷歌官方的教程,已确保文档的正确性。

免得大家被五花八门的其他的资料弄混了,也没有系统行的学习。

一、设置窗口尺寸和适配屏幕分辨率

谷歌官方文档提到两个大的方面。

1.Viewport视图窗口

这个是html中设置的。主要是设置高度和宽度,还有初始的比列。这个宽度与高度将绝对html里面CSS中有多少个像素可用。

Viewport的宽度与屏幕的宽度没有决定性的关系。比如你的手机宽度是480PX但是你可以设置Viewport的宽度为960PX,这样一张800PX的图片就能一次性显示完整,因为很多浏览器比如chrome,会尽可能的缩放,缩小到能一屏幕能展现整个网页,也就是960PX的宽度。

注意:使用webView时并不会默认使用 全局概要模式。也就是自动缩小,用这个方法设置一下就行setUseWideViewPort().

<head>
    <title>Example</title>
    <meta name="viewport" content="width=device-width, user-scalable=no" />
</head>
<meta name="viewport"
      content="
          height = [pixel_value | "device-height"] ,
          width = [pixel_value | "device-width"] ,
          initial-scale = float_value ,
          minimum-scale = float_value ,
          maximum-scale = float_value ,
          user-scalable = ["yes" | "no"]
          " />

注意:除非你确定你的程序自动适配的很好,而且在最小尺寸下也能使用,否则不要关闭user-scalable。

2.屏幕分辨率

html在CSS中写的像素单位,在Android中等同于160DPI的手机。如果是320DPI的手机,就会对这个单位进行放大。比如如果一张300像素宽的图片,在160PI中能正常的显示,但是到了320DPI中的手机就会放大两倍,这个时候图片就会失真,模糊,有纹理。

二、通过CSS来适配

1.不同分辨率使用不同的CSS

通过设置-webkit-device-pixel-ratio 这个属性0.75,1,,1.5来对应低分率,中分辨率,高分辨率。其实就是下面的写法

<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 1.0)" href="mdpi.css" />

2.或者通过不同的style和样式表,写法如下

#header {
    background:url(medium-density-image.png);
}

@media screen and (-webkit-device-pixel-ratio: 1.5) {
    /* CSS for high-density screens */
    #header {
        background:url(high-density-image.png);
    }
}

@media screen and (-webkit-device-pixel-ratio: 0.75) {
    /* CSS for low-density screens */
    #header {
        background:url(low-density-image.png);
    }
}

更多关于如何适配分辨率尤其是图片的适配可以参见 High
DPI Images for Variable Pixel Densities
.。

稍后如果有时间会把这个链接里面的内容也总结一下。

三、通过javascript来适配

写法如下:

Android浏览器或者WebView会通过 window.devicePixelRatio这个DOM文档定义的属性来指定当前的缩放比例。

默认的缩放比例是1.0.可以通过如下代码来获取比例,并作出对应的处理。

if (window.devicePixelRatio == 1.5) {
  alert("This is a high-density screen");
} else if (window.devicePixelRatio == 0.75) {
  alert("This is a low-density screen");
}

html适配Anroid手机,布布扣,bubuko.com

时间: 2024-08-01 22:38:50

html适配Anroid手机的相关文章

第148天:js+rem动态计算font-size的大小,适配各种手机设备

需求: 在不同的移动终端设备中实现,UI设计稿的等比例适配. 方案: 布局排版都用rem做单位,然后不同宽度的屏,js动态计算根节点的font-size. 假设设计稿是宽750px来做的,书写css方便计算考虑,根节点的font-size假定为100px,得出设备宽为7.5rem.设计稿中标注的任何px数值都可以换算成px/100的rem值. 就是说,每一个设备的宽度都定为7.5个rem,然后宽度非750px的设备里,就需要用JS对font-size做动态计算. 换算关系为:根节点的font-s

APP适配安卓手机刘海屏

如果你想允许全屏界面内容显示到刘海区域 ,只要在AndroidManifest.xml文件里配置如下代码即可: <!--允许绘制到oppo.vivo刘海屏机型的刘海区域 --> <meta-data android:name="android.max_aspect" android:value="2.2" /> <!--适配华为(huawei)刘海屏--> <meta-data android:name="andr

使用adb命令控制anroid手机

 adb工具即Android Debug Bridge(安卓调试桥) tools.它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互.在某些特殊的情况下进入不了系统或者需要自动化测试的时候,adb就派上用场了 1 手机进入开发者模式,不同手机的进入方式不一样.一般是设置->关于手机,然后连续点击版本号,屏幕上回显示进入开发者模式,界面上可以显示出开发者选项 2 进入开发者选项,选择USB调试和指针位置.USB调试打开后才能使用ADB命令,指针位置打开后可以随时查看触摸点的坐标. 3 将

浅谈android如何同时适配pad和手机

前期的注意事项和技巧 前段时间公司要做的一个android app,同时要做到适配pad跟手机.刚开始觉得这根本不可能实现,因为我们市场上见到的app都是要两个版本的,分别是手机版和pad版.因为手机和屏幕的尺寸相差太大,所以一般都不会说一个app同时兼容两个版本. 为了做到屏幕的兼容,所以我专门去网上查找资料,看看目前市场上主流的手机尺寸和分辨率分别是多少.主要找到的情况如下图所示: 而pad的话每个厂家出产的pad的分辨率都会跟手机的一样,所以可以先做完手机页面的适配再考虑pad的页面适配.

Android应用如何适配不同分辨率的手机

主要分三块考虑 1 )界面配置 根据不同的分辨率,创建手机界面文件 例子: 在res下创建 layout-800x480 layout-480x320 并在各自不同分辨率的文件夹下创建界面文件 2)图片配置 不同的分辨率,界面的长宽比不一致,需要不同规格的图片 在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同分辨率的图片 注:为了减小整个应用程序安装包大小,选用最高分辨率适配,特殊界面图片特殊处理 3)动态实现的界面,样式的设定 不同分辨率,界面的字

浅谈android怎样同一时候适配pad和手机

前期的注意事项和技巧 前段时间公司要做的一个android app.同一时候要做到适配pad跟手机.刚開始认为这根本不可能实现,由于我们市场上见到的app都是要两个版本号的,各自是手机版和pad版. 由于手机和屏幕的尺寸相差太大,所以一般都不会说一个app同一时候兼容两个版本号. 为了做到屏幕的兼容,所以我专门去网上查找资料.看看眼下市场上主流的手机尺寸和分辨率各自是多少.主要找到的情况例如以下图所看到的: 而pad的话每一个厂家出产的pad的分辨率都会跟手机的一样,所以能够先做完手机页面的适配

手机站SEO优化的5个注意事项

在这移动互联网时代,一个网站没有适配上手机版,你会发现手机访问网站的时候是惨不忍睹的,而从数据上很可能也会让你震惊,家世比小柯手上的两个同是资讯网站,有适配手机版的网站手机流量占比77%,没有适配手机版的网站手机流量占比仅为14%,自己都被这发现给震惊了.于是抓紧的补缺补漏,对接程序员开发手机版,终于用了一个星期时间完成,前端展示效果还算满意,对于流量数据上的贡献等待后期的观察,下边是对于这次网站手机版制作优化的经验分享. 1.PC站和移动站配置方式的选择 目前PC站与移动站配置方式主要有三种:

Android 关于资源适配

一. 关于图片资源 图片宽高 不要固定大小,在小屏幕和大屏幕,不同分频率上 ,采用不同的图片,这个要美工切图的. 不同的分辨率,界面的长宽比不一致,需要不同规格的图片 在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同分辨率的图片 注:为了减小整个应用程序安装包大小,选用最高分辨率适配,特殊界面图片特殊处理 二. 关于布局适配. Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其

Android 悬浮窗各机型各系统适配大全

这篇博客主要介绍的是 Android 主流各种机型和各种版本的悬浮窗权限适配,但是由于碎片化的问题,所以在适配方面也无法做到完全的主流机型适配,这个需要大家的一起努力,这个博客的名字永远都是一个将来时,感兴趣或者找到其他机型适配方法的请留言告诉我,或者加群544645972一起交流一下,非常感谢~ 相关权限请看我的另一篇博客:android permission权限与安全机制解析(下),或者关于权限的案例使用:android WindowManager解析与骗取QQ密码案例分析. 转载请注明出处