webview开发-适配多分辨率的Android设备

android的多分辨率多设备适配 很全的一篇:http://blog.csdn.net/jiangxinyu/article/details/8598046 dp适配到具体设备的像素的时候,是通过如下公式换算: px = dp * scale; scale由设备的由设备的设备的pixel密度决定: LDPI的dpi在120左右,scale = 0.75 //一般市面上是看不到LDPI的设备了。 MDPI的dpi在160左右,sc 阅读详情

http://bbs.blueidea.com/home.php?mod=space&uid=168495&do=blog&id=23366

taobao ppt:基于html5的android开发.ppt


s

常见的IPHONE 和 Android屏幕参数。
 
设备分辨率设备像素比率
Android LDPI320×2400.75
Iphone 3 & Android MDPI320×4801
Android HDPI480×8001.5
Iphone 4960×6402.0
 
由此可见,Iphone 4的一个 CSS 像素实际上表现为一块 2×2 的像素。所以图片像是被放大2倍一样,模糊不清晰。

解决办法:
 
1、页面引用
 
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 0.75)" href="ldpi.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: 1.5)" href="hdpi.css" />
<link rel="stylesheet" media="screen and (-webkit-device-pixel-ratio: 2.0)" href="retina.css" />
 
2、CSS文件里
 
#header {
    background:url(mdpi/bg.png);
}

@media screen and (-webkit-device-pixel-ratio: 1.5) {
    /*CSS for high-density screens*/
    #header {
        background:url(hdpi/bg.png);
    }
}
JavaScript控制设备密度



Android浏览器和WebView支持查询当前设备密度的DOM特性(window.devicePixelRatio),该值指定用于当前设备按比例缩放的系数。例如,值为“1.0”,则说明设备是中等密度,并且默认页面不进行缩放;如果该值是“1.5”,那么,设备是高密度设备,并且默认页面调整1.5x(倍);如果该值是“0.75”,那么,设备是低密度设备,并且默认页面调整0.75x(倍)。






如何使用JavaScript查询设备密度:




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");

}

测试代码:

<body>

<script type="text/javascript">
document.write("Screen resolution: ")
document.write(screen.width + "*" + screen.height)
document.write("<br />")
document.write("Available view area: ")
document.write(screen.availWidth + "*" + screen.availHeight)
document.write("<br />")
document.write("Color depth(位每像素): ")
document.write(screen.colorDepth)
document.write("<br />")
document.write("window.devicePixelRatio: ")
document.write(window.devicePixelRatio)
document.write("<br />")
document.write("实际分辨率: ")
document.write(screen.width*window.devicePixelRatio + "*" + screen.height*window.devicePixelRatio)
document.write("<br />")
document.write("document.body.clientWidth: ")
document.write(document.body.clientWidth)
document.write("<br />")
document.write("document.body.clientHeight ")
document.write(document.body.clientHeight)


</script>

</body>

如果是在android的webview里,上面相应的值都是指webview的大小,而不是屏幕的大小。


 主题:JS获取屏幕,浏览器,网页高度宽度

网页可见区域宽:document.body.clientWidth 
网页可见区域高:document.body.clientHeight 
网页可见区域宽:document.body.offsetWidth (包括边线的宽) 
网页可见区域高:document.body.offsetHeight (包括边线的宽) 
网页正文全文宽:document.body.scrollWidth 
网页正文全文高:document.body.scrollHeight 
网页被卷去的高:document.body.scrollTop 
网页被卷去的左:document.body.scrollLeft 
网页正文部分上:window.screenTop 
网页正文部分左:window.screenLeft 
屏幕分辨率的高:window.screen.height 
屏幕分辨率的宽:window.screen.width 
屏幕可用工作区高度:window.screen.availHeight 
屏幕可用工作区宽度:window.screen.availWidth 


HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth 
scrollHeight: 获取对象的滚动高度。 
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 
scrollWidth:获取对象的滚动宽度 
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 
event.clientX 相对文档的水平座标 
event.clientY 相对文档的垂直座标 
event.offsetX 相对容器的水平坐标 
event.offsetY 相对容器的垂直坐标 
document.documentElement.scrollTop 垂直方向滚动的值 
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量 

IE,FireFox 差异如下: 

IE6.0、FF1.06+: 

clientWidth = width + padding 

clientHeight = height + padding 

offsetWidth = width + padding + border 

offsetHeight = height + padding + border 

IE5.0/5.5: 
clientWidth = width - border 

clientHeight = height - border 

offsetWidth = width 

offsetHeight = height 

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关) 

哎,原谅我的无知,我被里面这些个概念是搞的晕头转向,恳求高手能不能抽空就上面这些概念做个图文并茂的教程呢,比如啊:随便搞一张网页截图,然后在上面用符号标示各个概念

因为最近要做一个层的定位的程序,所以迫切需要知道这些概念的具体意义。 



s




s

华为硬件逻辑岗笔试题(一) 积少成多,集腋成裘,坚持!!! 目录 1. 进制转换 2. 状态机和编码方式 3. 存储器的分类 4. Verilog语法中的操作符 5. 对组合逻辑的认识 6. 对时序逻辑的认识 7. 竞争冒险的认识 8. 基本时序逻辑电路 9. 建立时间和保持时间 10. 同步时序电路 11. 组合逻辑和时序逻辑判断 13. 基本总线的理解 14.加法器 15.FPGA开发工具 1. 进制转换 1、十进制46.25对应的二进制表达式为( )。 A 101110.11... 阅读详情

相关推荐

3.1 计算机视觉的发展和卷积神经网络概要(百度架构师手把手带你零基础实践深度学习原版笔记系列)

3.1 计算机视觉的发展和卷积神经网络(百度架构师手把手带你零基础实践深度学习原版笔记系列) 概要 计算机视觉作为一门让机器学会如何去“看”的科学学科,具体的说,就是让机器去识别摄像机拍摄的图片或视频中的物体,检测出物体所在的位置,并对目标物体进行跟踪,从而理解并描述出图片或视频里的场景和故事,以此来模拟人脑视觉系统。因此,计算机视觉也通常被叫做机器视觉,其目的是建立能够从图像或者视频中“感知”信息的人工系统。 计算机视觉技术经过几十年的发展,已经在交通(车牌识别、道路违章抓拍)、安防(人脸闸机.

aiAI 691

网页webview适应手机分辨率

主要原理是在服务器端,根据不同的手机分辨率,设置不同的css样式 1、在网页head里面添加: 2、不同分辨率设置不同css(同样是在head里面添加): body中加一张图片作为测试 3、css文件测试内容 h1.css文件: img { width: 225px } h2.css文件: img { width: 265px }

dianqiugg的专栏 1226

第二章 HART硬件设计实战 — 基于SD2057的低功耗调制解调器电路详解与选型指南

本文详细解析了基于SD2057芯片的HART协议低功耗调制解调器硬件设计。通过对比分析,阐述了SD2057在成本与性能上的优势,并重点拆解了其核心电路、外围元件选型、原理图绘制要点及PCB布局的实战技巧,为工业现场仪表的智能通信模块开发提供了完整的低功耗解决方案。

gan8painter的博客 423

Android 中Webview 自适应屏幕

Android 中Webview 自适应屏幕

weixin_42602900的博客 2121

多智能体强化学习中的Trust Region技术:HATRPO与HAPPO深度解析

本文深度解析多智能体强化学习中的Trust Region技术,重点探讨HATRPO(异质智能体信任区域策略优化)与HAPPO(异质智能体近端策略优化)两种先进算法。通过数学架构与工程实现细节,揭示其在解决联合策略空间爆炸、信用分配等挑战中的优势,并分享实际部署中的优化技巧与前沿进展。

weixin_29072299的博客 191

PyMuPDF`库实现PDF旋转功能

本文介绍了一个简单的Python应用程序,用于将PDF文件转换为旋转90度的PDF文件。通过使用`wx很抱歉,Markdown格式在当前聊天界面无法显示。我将为您提供纯文本格式的博客内容,您可以将其复制到Markdown编辑器中进行格式化。PDF转换工具本文介绍了一个简单的Python应用程序,用于将PDF文件转换为旋转90度的PDF文件。该工具使用了wxPython和PyMuPDF库。功能该PDF转换工具具有以下功能:1. 选择PDF文件:通过点击“选择文件”按钮,用户可以选择要转换的PDF文件。

Winfredzhang的博客 2735

webView的适配

问题场景: 魅族2  小米2  三星 Galaxy note  三款机子都是 1280*800   之前在代码中为了让webView加载正常显示的代码如下: webview_use_method.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); webview_use_method.loadDataWithBas

此季流火 948

Frida实战:SSL Pinning绕过技术全解析

本文详细解析了如何使用Frida工具绕过SSL Pinning技术,包括环境搭建、四种实战绕过方案及常见问题排查指南。通过具体代码示例和实战经验,帮助安全研究人员快速掌握SSL Pinning绕过技术,适用于金融类App的安全测试场景。

weixin_42530732的博客 188

android设置webview的适配比例,setInitialScale 方法神奇的功能

android webview setInitialScale 方法神奇的功能.  web.setInitialScale(25);//为25%,最小缩放等级          解释:  里面的数字代表缩放等级              web.setInitialScale(100);  代表不缩放。                       什么是不缩放?     比如你要加载的网页

huohu1007的博客 1万+

快速上手CH340N电路设计(CH340N USB转串口模块 USB Type-C接口 CH340系列芯片讲解)

一、上模块 二、功能分析 l 芯片:CH340N l 输入接口:USB、TYPE-C l 输出接口:TTL(5V\3.3V\GND\TX\RX) l 指示灯:电源、TX、RX 三、CH340x芯片 l CH340 是一个 USB 总线的转接芯片,实现 USB 转串口 l 全速 USB 设备接口,兼容 USB V2.0 l 硬件全双工串口,内置收发缓冲区,支持通讯波特率 50bps~2Mbps l 支持常用的 MODEM 联络信号 RTS、DTR、DCD、RI、DS...

东小东博客 5万+

168、OIS光学防抖系统设计:陀螺仪标定、音圈马达驱动与滚珠式/悬丝式结构选型

本文总结了OIS光学防抖系统设计中的关键问题与解决方案。作者通过实际案例指出,陀螺仪标定需重视零偏、灵敏度和温度补偿问题,音圈马达驱动需采用电流环控制并优化相位补偿。在机械结构选型方面,滚珠式适合大角度补偿但存在回差问题,悬丝式精度高但受重力影响,需根据应用场景选择。系统联调建议从开环到闭环逐步验证,注意陀螺仪与驱动频率匹配。最后给出5条经验建议:关注陀螺仪信噪比而非分辨率、预留标定余量、重视机械结构公差、配备专业调试工具、协调OIS与电子防抖的分工配合。文章强调OIS调试需针对不同模组特性进行反复测试与标

zzfmlxs的博客 46

Android应用开发新路线

Android应用开发新路线 利用HTML5开发Android应用程序!Android与HTML5融合Android的HTML5应用程序概述如何适配多分辨率的Android设备?如何在Android中构建HTML5应用程序? 对其内容详细阅读

拟声的主扬在江湖 484

第1章:认识OpenClaw

OpenClaw是一个开源的 AI 智能体 Gateway 网关项目名称演变:OpenClaw 原名 Clawdbot,因 Anthropic 商标顾虑在 2026年1月27日更名为 Moltbot(过渡名),最终在1月30日确定为 OpenClaw。三个名字本质是同一个项目,功能完全一致。🏠在你的电脑上运行:完全本地部署,数据隐私有保障📁访问本地文件:可以搜索、读取、编辑你电脑上的文件🔌扩展能力:通过Skills(技能)系统无限扩展功能💬多平台使用。

Maynor的博客 2834

【转】利用HTML5开发Android

● Android设备多分辨率的问题 Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示 Android浏览器和WebView默认为mdpi。hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍 三种解决方式:1 viewport属性 2 CSS控制 3 JS控制 1 viewport属性放在HTML的&lt;meta&gt;中   Ht...

weixin_34273046的博客 91

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[WebApp开发]基础教程-Google官方文档-第一篇

如下为第一篇: 基本上有两种方式来在Android上发布一个应用:作为一个客户端应用程序(使用Android SDK开发并作为一个.apk安装在用户设备上)或者作为一个Web应用(使用Web标准开发,并通过web浏览器访问——不需要在用户设备上安装什么)。 你选择以何种方式发布你的应用基于好几个因素,但是Android做出了一个决定,使得开发一个Web应用更为容易,为此,他们提供了: 对...

weixin_30374009的博客 229

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

最新android webview,android WebView加载html5介绍

Android设备多分辨率的问题Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示Android浏览器和WebView默认为mdpi。hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍三种解决方式:1 viewport属性 2 CSS控制 3 JS控制1 viewport属性放在HTML的中Html代码Exmaplemeta中viewport的属性如下Ht...

weixin_28864057的博客 321

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

使用HTML5开发Android

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

逍遥飞鹤的专栏 2167

如何向开源项目贡献代码:从零到第一次 PR 的完整实践指南(opensource.guide)

开源贡献并非只是提交代码:你可以从修一个文档拼写错误、翻译一篇文章、整理一个 issue 开始,逐步成长为项目社区的一员。本文基于 opensource.guide 的《Cara Menyumbang kepada Sumber Terbuka》([`_articles/ms/how-to-contribute.md`](https://link.gitcode.com/i/f463f6c4812

gitblog_00911的博客 330

如何使用Rudeness实现Android屏幕适配?3分钟快速上手教程

Rudeness是一种粗暴快速的Android全屏幕适配方案,通过创新的单位转换机制,让开发者能够轻松实现不同屏幕尺寸下的界面一致性。本教程将带你快速掌握Rudeness的核心用法,解决Android开发中令人头疼的屏幕适配问题。 ## 📌 Rudeness适配方案核心原理 Rudeness采用独特的**pt单位重定义**策略,将设计稿尺寸与屏幕实际宽度建立比例关系。不同于传统的dp适配方式

gitblog_01154的博客 733

Android适配多分辨率注意事项

1、布局配置文件XML中的宽与高应该使用wrap_content和match_parent(或fill_parent略有不同)来适配不同设备分辨率的需求,尽量不要使用pixel将大小写死。 2、尽量使用相对布局(RelativeLayout)来搭建显示界面,因为这种布局方式能很好的处理和解决不同屏幕大小下各个组件之间的关系,一般我们会将布局的最外层使用相对布局,在里面使用其他的布局和组件。 3

云水之路的专栏 1261

利用HTML5开发Android笔记

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

Dream It Possible 7217

Rudeness核心原理:为什么pt单位是解决Android适配难题的终极方案?

在Android开发中,屏幕适配一直是困扰开发者的棘手问题。不同设备的屏幕尺寸、分辨率和像素密度差异,常常导致UI元素在不同设备上显示效果不一致。Rudeness作为一种粗暴快速的Android全屏幕适配方案,创新性地利用pt单位解决了这一难题,让开发者能够轻松实现跨设备的一致显示效果。 ## 传统Android适配方案的痛点 Android系统提供了dp、sp等单位用于适配,但在实际开发中仍

gitblog_00021的博客 407

Android开发面试经——6.常见面试官提问Android题②(更新中...)

1.HttpURLConnection和HttpClient他们各自的优缺点是什么? HttpUrlConnection 在 2.3 以前的版本是有 bug 的,所以之前的版本推荐使用 HttpClient,但是 google 现在已经不维护 HttpClient 了,5.1里面已经把 HttpClient 标过期。另外 HttpURLConnection 支持gzip压缩等,推荐首选它。

做更好的自己 9618

Hybrid App适配Android注意点

最近把做好的ipad HTML5混合应用适配到android上,发现android的webview比 iPad差太多了,android4.4由于升级到chromium,和chrome内核一致,所有问题不多,但android4.3以下的版本兼容问题太多了,只能一个一个慢慢解决了! 目前已经碰到了css3 flex box布局的兼容问题, js的兼容问题等。 Andro

西涛offbye-移动全栈技术博客 2908

[WebView学习之一]:Web Apps简介

今天开始我们来学习一下WebView,以及Web Apps开发,主要内容来自Android官方文档以及后面的实战例子讲解。         (博客地址:http://blog.csdn.net/developer_jiangqq),转载请注明。      Author:hmjiangqq      Email:jiangqqlmj@163.com        基本上在A

江清清的专栏 3476
上一篇: node.js学习之markdown
下一篇: Ruby 实现base64加密和解密
andych008
博客等级 码龄19年 23粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值