我最近用html,css,javascript开发了一个android应用程序,并通过phonegap运行它们来创建实际的应用程序。我在一部手机上遇到的一个问题是文本看起来太小了。还有一些图片也有点小。我添加了一个viewport meta标签,但它似乎也不起作用。下面是meta标签:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" />`
看起来是这样的
这是它应该看起来的样子:
7条答案
按热度按时间ycggw6v21#
我也遇到了同样的问题,通过改变视口解决了它。我也认为问题出在PhoneGap上,但实际上是用于测试的设备有不同的DPI。
我的解决方案是将视口上的target-densitydpi更改为:
qqrboqgw2#
我也遇到过类似的问题,做了一些我认为值得分享的研究:
target-densitydpi
为medium-dpi
(= 160dpi),这将虚拟化px
单位,例如html/css中的1px
对应于320dpi设备上的2个物理像素。注意图像也会缩放(和模糊)。device-pixel-ratio
来处理(感谢Marc Edwards提供了一个例子:https://gist.github.com/marcedwards/3446599)。媒体功能
resolution
比device-pixel-ratio
干净,但缺乏移动浏览器支持。window.devicePixelRatio
、window.screen.width
和window.screen.height
调整按钮大小、图像等。根据Javascript进行布局被认为是不好的做法。此外,在pageload
事件后开始执行时,加载期间可能会导致 Flink 。-webkit-image-set
and imagesrc-set
make it easy to provide high-res images for retina displays, see http://www.html5rocks.com/en/mobile/high-dpi/#toc-bff. Browser support is limited.p1iqtdky3#
似乎完全删除
target-densitydpi
会带来最佳效果。<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
在大多数情况下,这应该足以控制应用的外观。
mrzz3bfm4#
目标密度ydpi =中分辨率dpi对我们很有效。
ee从PhoneGap 2.2升级到3.3时遇到了这个问题。
icnyk63a5#
更新答案:适用于Android
问题是Android设备上有这个可访问设置,你可以尝试改变字体大小 *(搜索字体大小Android设置 *)并再次运行你的应用程序.
因此,应用程序上的字体将根据您的设置进行更改
所以这里有一个 cordova 的解决方案
用途:mobile-accessibility禁用首选文本缩放
在Cordova项目上安装移动辅助功能
JS部分类似于:
jv4diomz6#
对于Windows Phone(WP8),我发现了以下解决方案:https://github.com/phonegap/phonegap-app-developer/issues/92
1.添加到css:@-ms-视区{宽度:器件宽度;}
1.添加到html:第一个月
1.添加到修补程序IE 10:
(函数(){ if(“-ms-用户-选择”在document.documentElement.style &&导航器.用户代理.匹配(/IEMobile/10.0/)){ var msViewportStyle =文档.创建元素(“样式”);附件子对象(文档.创建文本节点(“@-ms-视区{宽度:自动!重要}”));文件。按标记名获取元素(“head”)[0]。appendChild(msViewportStyle);} })();
sxpgvts37#
在此处添加此解决方案
对我来说,有些文本被渲染得很大,有些则是正确的大小.问题是在css中使用rem值作为font-size.由于某些原因,font-size是基础值(在body中定义)的元素被渲染得比它们应该的要大得多.
修复方法是为整个站点的 Package 器元素中的rem字体大小重新分配一个全局值。
(my. font-size(1.4)只是一个混合渲染:字体大小:1.4rem;)
所以这个
可以用这个来修复