【发布时间】:2017-09-13 17:36:22
【问题描述】:
我有一个使用 Titanium SDK 5.5.1 的旧版 Android Titanium 应用程序(我不能使用 SDK 6+,因为代码使用了 Ti.include)。该应用程序使用 WebView 来显示本地 CSS 样式的 html 内容。最近,一些运行 Android 6+ 的 Android 设备突然开始使用巨大的字体显示 WebView 内容,这些字体会在屏幕上填满几句话。这会在某些设备上发生,但在其他设备上不会发生,我无法在我用于测试的设备(运行 Android 7.0 的三星 Galaxy S7)或任何模拟器(Genymotion 或内置 Android SDK)上复制它。
我已经尝试了我能想到的一切。我使用各种选项设置元视口 - 目前如下,根据 Android 建议:
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
我尝试将 width=device-width 添加到内容中,但这并没有什么不同,显然它是推断出来的,并且在使用 initial-scale=1.0 时没有必要。
我还在 div 类和包装 div 类的页面样式标题中将 font-size CSS 属性硬编码为设置的像素大小,但仍然没有运气。
body {font-size:13px;}
.contentClass {font-size:13px;}
我还尝试将 WebView scalesToFit 属性从 false(旧设置)更改为 true,但没有区别。似乎没有任何效果,某些设备上的字体仍然很大。
WebView创建代码如下,没什么特别的:
var webView = Ti.UI.createWebView({
top:0,
html:htmlContent,
width: Titanium.UI.FILL, //webview is added to main window which is the set to device screen width
height: '100%',
scalesPageToFit: true, //tried false as well
enableZoomControls: false,
});
该应用有许多活跃用户,他们现在因此而抱怨。由于我无法在我的开发环境中复制该问题,所以我在黑暗中工作。一些遇到这种情况的用户正在帮助我对修复进行 beta 测试,但调试起来非常困难。任何见解将不胜感激。
【问题讨论】:
标签: android webview titanium appcelerator