我使用jquery Mobile创建了一个webapp,我通过webview在本机应用程序上呈现它。它适用于Android 4+设备,但使用Gingerbread设备时,滚动功能无效。
直接在设备的浏览器上加载网站确实有效,它只是在我的应用程序的webview上。这就是我创建webview的方式:
mWebView = (WebView) findViewById(R.id.webView);
mWebView.setFocusable(true);
mWebView.setFocusableInTouchMode(true);
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
WebSettings s = mWebView.getSettings();
// s.setUserAgentString(Constants.USER_AGENT);
s.setRenderPriority(RenderPriority.HIGH);
s.setJavaScriptEnabled(true);
s.setDomStorageEnabled(true);
s.setDatabaseEnabled(true);
s.setAppCacheEnabled(true);
s.setSupportZoom(true);
s.setBuiltInZoomControls(true);
s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
s.setUseWideViewPort(true);
s.setLoadWithOverviewMode(true);
s.setSavePassword(true);
s.setSaveFormData(true);
s.setJavaScriptEnabled(true);
有关问题出在何处的任何建议?
答案 0 :(得分:0)
原来这是因为jQuery Mobile在overflow:hidden
上设置了CSS属性body
。我将它设置为自动用于我的蜂窝前设备,似乎工作正常。
如果有人感兴趣,这就是我使用jQuery做的事情:
function isAndroidBelow3() {
return !!navigator.userAgent.match(/Android [1-2]/i);
}
if(isAndroidBelow3()){
$(document.body).css("overflow", "auto");
}