在SO和其他互联网上有数百篇关于尝试在Android中修复视口缩放的帖子,我现在相当确定你无法在Android 4.1的webview中设置初始比例.
我正在构建一个Cordova(Phonegap)应用程序,我已经在iPhone 3GS,4S和5以及iPad 2上完成了所有功能,在iOS6上运行iOS7和3GS
我还推出了适合Moto G,LG Nexus 5,Google Nexus 5和三星Galaxy S4的UI,全部运行Android 4.4
但是在运行Android 4.1的三星Galaxy S2和S3 Mini上,我无法设置初始规模.
HTML视口元标记在4.1或4.4上不起作用(适用于Chrome,不适用于WebView或默认浏览器):
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Set byin config.xml super.loadUrl(Config.getStartUrl()); //super.loadUrl("file:///android_asset/www/index.html"); this.appView.setInitialScale( 50 ); }
然后我按预期得到了4.4尺寸的Moto G:
但是在Galaxy S2上运行的项目完全相同,并没有得到扩展.
我只限于使用4.1或者4.4上的一系列设备在三星设备上进行测试,所以如果有人可以在4.2或4.3上测试相同的东西,或者4.1上没有三星的任何人都会有帮助.
有谁知道如何让Android 4.1服从 setInitialScale()
您应该能够在网页中添加一些javascript,以便在您的网页浏览获取内容时扩展内容.下面是一个示例,它将缩放您的html内容,以便内容适合屏幕的可用宽度:
function customScaleThisScreen() var contentWidth = document.body.scrollWidth, windowWidth = window.innerWidth, newScale = windowWidth / contentWidth; document.body.style.zoom = newScale; }
这将适用于旧的(4.2之前的)和更新的基于铬(4.2+)的webview.
HTHS