博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flexible.js移动端适配安卓高分辨不兼容问题
阅读量:6901 次
发布时间:2019-06-27

本文共 937 字,大约阅读时间需要 3 分钟。

根据网上找到的解决办法,对于安卓设备,把dpr=1改为当前设备的dpr

if (!dpr && !scale) {        if (isIPhone) {            // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案            if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {                dpr = 3;            } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){                dpr = 2;            } else {                dpr = 1;            }        } else {            // 其他设备下,仍旧使用1倍的方案            // dpr = 1;           // 其他设备下,改为使用设备当前的dpr            dpr = devicePixelRatio;        }        scale = 1 / dpr;    }

这时候会不会发现有些安卓机可以正常显示,有些安卓机显示样式反而特别小呢?其实有一点一定要注意,在代码中,我们可能针对不同dpr的设备设定了不同的样式,比如图片、宽高、字体大小等,这时候就要考虑到安卓可能的dpr了,否则这些针对性的样式必然会按默认的dpr=1的样式来展示的。比如下面是我默认写的font-size

目前只是测了一部分安卓机,没有出现问题,dpr=2.75 是 小米 mix,dpr=4 是三星s6 edge ,我看网上安卓应该还有dpr=1.5的情况,目前我还没遇到。所以一定要写多种方案,否则,安卓的样式真的就跪 了…………………………

 

这里有一片文章写的比较好,可以推荐阅读:       

 

在测试过程中还发现一个问题,vivo打不开我们的手机端网站………………换任何一个浏览器都不行……                                                       

转载于:https://www.cnblogs.com/beileixinqing/p/8259938.html

你可能感兴趣的文章
CPU和GPU的区别
查看>>
linux 打包 | autoconf 使用方法
查看>>
linux 上zookeeper安装
查看>>
JSON简介及Java对JSON的解析
查看>>
Candy
查看>>
CentOS 6.4 搭建 ntop 网络流量监控分析平台
查看>>
暑期第一弹<搜索> B - Dungeon Master(三维BFS,6个状态)
查看>>
codeforces Problem-518D:Ilya and Escalator(概率dp)
查看>>
flask—信号(blinker)
查看>>
[LeetCode] NO. 66 Plus One
查看>>
基于jwt和角色的访问控制解决方案
查看>>
C# 测试 SQL SERVER 是否能正常连接【转】
查看>>
GDI资源使用上需要注意的一点
查看>>
也来说说C/C++里的volatile关键字
查看>>
java Sokcet编程(四)--对Socket的认识
查看>>
nginx静态服务器的配置
查看>>
Android在导航栏添加音量加减按钮安卓源码案例
查看>>
【模板】普通平衡树 Splay
查看>>
C# 随机四位数验证码
查看>>
to_char 字符串补位
查看>>