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

私有化大模型部署:企业AI应用的核心架构 私有化大模型部署不是“一次性项目”,而是企业AI的“长期主义”投资——它需要企业投入时间、金钱和精力,但回报是数据安全、定制化能力、核心竞争力的提升。就像“自家厨房”一样,私有化大模型可能初期麻烦,但一旦搭建起来,就能为企业“做”出符合自己口味的“特色菜”,而这些“特色菜”,正是企业在激烈竞争中的“护城河”。愿你能构建属于自己的“AI大脑”,让技术真正赋能业务,让复杂变简单,让深奥变通透。附录:私有化大模型部署架构图(注:可根据企业需求调整,此为通用架构) 阅读详情

相关推荐

ArcGIS Pro新手避坑:从OpenStreetMap导入路网到创建拓扑关系全流程

本文详细解析了ArcGIS Pro中从OpenStreetMap导入路网数据到创建拓扑关系的全流程,涵盖OSM数据特性、几何完整性检查、属性强化及拓扑关系构建等关键步骤。特别针对路网数据预处理、网络数据集配置和常见问题提供了实用解决方案,帮助GIS新手高效完成网络分析任务。

weixin_33670786的博客 514

网页webview适应手机分辨率

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

dianqiugg的专栏 1226

NXP S32K3xx 多次复位(reset)后MCU跑死、崩溃、出错分析

s32k3出现多次复位后死机的情况

HeFlyYoung的博客 9515

Android 中Webview 自适应屏幕

Android 中Webview 自适应屏幕

weixin_42602900的博客 2121

Win10系统下海思SS928开发板烧写工具ToolPlatform-1.0.11安装避坑指南

本文详细介绍了在Windows 10系统下安装和配置海思SS928开发板烧写工具ToolPlatform-1.0.11的完整流程与避坑指南。核心解决了JVM内存配置导致的界面卡顿、闪退问题,并提供了驱动安装、硬件连接、镜像烧写的实战步骤,帮助嵌入式开发新手快速搭建稳定的烧写环境。

kite3的博客 454

PSO算法介绍

结合网上的文章对PSO进行一些介绍,并附上自己复现的算法。

Witty_Hou的博客 1万+

webView的适配

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

此季流火 948

从仿真到实体:基于Isaac Gym的X20机械狗与Kinova Gen3 Lite机械臂全身协同控制实战

本文详细介绍了基于Isaac Gym仿真平台,实现云深处X20机械狗与Kinova Gen3 Lite机械臂全身协同控制的完整实战流程。内容涵盖环境搭建、模型适配、分阶段训练策略、域随机化技巧,以及最终将训练好的策略安全部署到实体机器人的关键步骤,为复杂机器人系统的仿真到实体迁移提供了宝贵经验。

yhn45678901的博客 489

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

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

huohu1007的博客 1万+

Tecplot进阶:巧用公式与多Frame对比,实现CFD多工况数据差异的可视化分析

本文详细介绍了如何利用Tecplot进行CFD多工况数据差异的可视化分析,通过公式计算和多Frame对比,实现变量差值自动计算、多视图同步展示和差异量化统计。文章还提供了数据准备、基础操作、实战技巧和常见问题解决方案,帮助工程师高效完成CFD后处理工作。

weixin_29227425的博客 530

树莓派 SPI操作

扩展板配备一款0.96inch,128864分辨率的oled显示屏,通过SPI控制,先上显示效果图。由于程序过长,在这里我就不把代码全部贴出来了,只是简单讲解一下spi的操作函数。管脚如下如所有,左边方框的管脚分别为MOSI MISO SCLK,左边CE0,CE1为两个片选管脚,分别对应上图中的spidev0.0,spidev0.1两个设备。下载spidev库,复制到树莓派,并行运行如下命令解压安装。spi设备,此处设备为/dev/spi-decv0.0。在/dev路径下面,我们可以发现两个spi设备。

weixin_46529898的博客 914

Android应用开发新路线

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

拟声的主扬在江湖 484

【技术科普】破解政务跨系统数据壁垒!亘川一网统管平台多源数据同步技术解析

本文解析亘川一网统管平台多源数据同步技术,针对政务跨系统数据壁垒难题,介绍组件的数据采集、校验、审计留痕等核心能力,结合营商环境项目落地案例,对比传统开发模式差异,讲解开源组件的实践价值,为政务项目开发者提供落地参考。

weixin_67440240的博客 635

【转】利用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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

weixin_30374009的博客 229

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

最新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

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

使用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、付费专栏及课程。

余额充值