利用HTML5开发Android(1)---Android设备多分辨率的问题

Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示

Android浏览器和WebView默认为mdpi。hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍

三种解决方式:1 viewport属性 2 CSS控制 3 JS控制

1 viewport属性放在HTML的<meta>中

Html代码

<SPAN style="FONT-SIZE: x-small">
<head>
        <title>Exmaple</title>
        <meta name=”viewport” content=”width=device-width,user-scalable=no”/>
</head>
</SPAN>  

meta中viewport的属性如下

Html代码

<SPAN style="FONT-SIZE: x-small">
<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] ,
            target-densitydpi = [dpi_value | device-dpi |
            high-dpi | medium-dpi | low-dpi]
        "
    />
</SPAN>

2 CSS控制设备密度

为每种密度创建独立的样式表(注意其中的webkit-device-pixel-ratio 3个数值对应3种分辨率)

Html代码

<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" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.css" />  

在一个样式表中,指定不同的样式

Html代码

#header {
 <SPAN style="WHITE-SPACE: pre"></SPAN>
 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);
    }
}

Html代码

<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width" />

3 JS控制

Android浏览器和WebView支持查询当前设别密度的DOM特性

window.devicePixelRatio 同样值有3个(0.75,1,1.5对应3种分辨率)

JS中查询设备密度的方法

Js代码

if (window.devicePixelRatio == 1.5) {
    alert("This is a high-density screen");
} else if (window.devicePixelRation == 0.75) {
    alert("This is a low-density screen");
}  
时间: 2024-12-28 01:05:16

利用HTML5开发Android(1)---Android设备多分辨率的问题的相关文章

利用HTML5开发Android笔记(上篇)

资源来自于www.mhtml5.com 杨丰盛老师成都场的PPT分享 一个很简明的demo 可以作为入门基础 学习的过程中做了点笔记 整理如下 虽然内容比较简单 但是数量还是比较多的 所以分了3篇 (上)包括Android设备多分辨率的问题,Android中构建HTML5应用程序基础 (中)包括Android与JS之间的互动,Android处理JS的警告对话框等,Android中的调试 (下)包括本地储存在Android中的应用,地理位置的应用,离线应用的构建 —————————————————

利用HTML5开发Android笔记(下篇)

资源来自于www.mhtml5.com 杨丰盛老师成都场的PPT分享 一个很简明的demo 可以作为入门基础 学习的过程中做了点笔记 整理如下 虽然内容比较简单 但是数量还是比较多的 所以分了3篇 (上)包括Android设备多分辨率的问题,Android中构建HTML5应用程序基础 (中)包括Android与JS之间的互动,Android处理JS的警告对话框等,Android中的调试 (下)包括本地储存在Android中的应用,地理位置的应用,离线应用的构建 —————————————————

利用HTML5开发Android笔记(中篇)

资源来自于www.mhtml5.com 杨丰盛老师成都场的PPT分享 一个很简明的demo 可以作为入门基础 学习的过程中做了点笔记 整理如下 虽然内容比较简单 但是数量还是比较多的 所以分了3篇 (上)包括Android设备多分辨率的问题,Android中构建HTML5应用程序基础 (中)包括Android与JS之间的互动,Android处理JS的警告对话框等,Android中的调试 (下)包括本地储存在Android中的应用,地理位置的应用,离线应用的构建 —————————————————

利用HTML5开发Android

● Android设备多分辨率的问题 Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示 Android浏览器和WebView默认为mdpi.hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍 三种解决方式:1 viewport属性 2 CSS控制 3 JS控制 1 viewport属性放在HTML的<meta>中 Html代码 <SPAN style="FONT-SIZE: x-small">   <head&g

【转】利用HTML5开发Android

● Android设备多分辨率的问题 Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示 Android浏览器和WebView默认为mdpi.hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍 三种解决方式:1 viewport属性 2 CSS控制 3 JS控制 1 viewport属性放在HTML的<meta>中 Html代码 <SPAN style="FONT-SIZE: x-small">   <head&g

利用HTML5开发Android(5)---HTML5地理位置服务在Android中的应用

Android中 Java代码 1 //启用地理定位 2 webSettings.setGeolocationEnabled(true); 3 //设置定位的数据库路径 4 webSettings.setGeolocationDatabasePath(dir); 5 6 //配置权限(同样在WebChromeClient中实现) 7 public void onGeolocationPermissionsShowPrompt(String origin, 8 GeolocationPermiss

利用HTML5开发Android(2)---Android中构建HTML5应用

使用WebView控件 与其他控件的使用方法相同 在layout中使用一个<WebView>标签 WebView不包括导航栏,地址栏等完整浏览器功能,只用于显示一个网页 在WebView中加载Web页面,使用loadUrl() WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("http://www.example.com"); 注意在manifest文件中加入访问互联网的

利用HTML5开发Android(7)---HTML5本地存储之Database Storage

在上一篇<HTML5本地存储之Web Storage篇>中,简单介绍了如何利用localStorage实现本地存储:实际上,除了sessionStorage和localStorage外,HTML5还支持通过本地数据库进行本地数据存储,HTML5采用的是"SQLite"这种文件型数据库,该数据库多集中在嵌入式设备上,熟悉IOS/Android开发的同学,应该对SQLite数据库比较熟悉. HTML5中的数据库操作比较简单,主要有如下两个函数: 1.通过openDatabase

利用HTML5开发Android(6)---构建HTML5离线应用

需要提供一个cache manifest文件,理出所有需要在离线状态下使用的资源例如 Manifest代码 1 CACHE MANIFEST 2 #这是注释 3 images/sound-icon.png 4 images/background.png 5 clock.html 6 clock.css 7 clock.js 8 9 NETWORK: 10 test.cgi 11 12 CACHE: 13 style/default.css 14 15 FALLBACK: 16 /files/pr