大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
据我所知目前各大应用里面,纯 HTML5 开发整个界面的基本没有,大部分都是说,基本是原生界面,部分内容用 H5 的方式来展现,这个才是主流。
成都创新互联专注于陕西企业网站建设,自适应网站建设,商城网站制作。陕西网站建设公司,为陕西等地区提供建站服务。全流程按需定制设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
未来会是朝哪个方向发展呢?答案肯定还是朝原生的方向发展,因为现在用户对手机的交互越来越挑剔了,而 H5 的方式你很难做到非常流畅。即使是当前流行的混合开发技术,像 facebook 出现的 react native,它用 H5 写代码,但渲染出来的是原生界面,所以大家都是在追求流畅的交互和体验,如果将这个作为目标的话,作为iOS开发者以及原生系统的开发者,应该是需求越来越多的,纯 H5 开发的项目基本上已经没有了。
当然,我还是希望各位 iOS 开发者能够多接触一些 H5 的知识,在工作中多多少少还是会涉及一些混合开发的界面,如果你懂这些知识,会很大程度上帮助你。
H5开发安卓界面需要注意以下三点:
(上)包括Android设备多分辨率的问题,Android中构建HTML5应用程序基础
(中)包括Android与JS之间的互动,Android处理JS的警告对话框等,Android中的调试
(下)包括本地储存在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
titleExmaple/title
meta name=”viewport” content=”width=device-width,user-scalable=no”/
/head/span
meta中viewport的属性如下:
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" /
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");
}
Android中构建HTML5应用
使用WebView控件 与其他控件的使用方法相同 在layout中使用一个WebView标签
WebView不包括导航栏,地址栏等完整浏览器功能,只用于显示一个网页。
需要的,因为现在好多的安卓程序或者游戏都是使用html5来实现的,使用原生的安卓实现也是有的,如果两者都会的话就需要学习js html5 css相关的技术的