我有一个带有Web视图的Android应用程序,它显示了一个jQuery Mobile站点。移动网站在Web视图中的行为与在设备浏览器中的行为略有不同。
在网站中,我使用静态标题和面板。在设备的浏览器中,这通常正常,当面板打开时标题向左滑动(请参见下文):
但是,当通过应用程序的Web视图加载时,静态标题保持100%的屏幕宽度并覆盖三个按钮中的第一个(请参见下文):
此外,使用应用程序时,jQuery移动响应更加微不足道/粘性,并且在使用设备的浏览器时非常流畅。我已粘贴下面的Web视图类的代码:
package com.example;
import com.example.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.GeolocationPermissions.Callback;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
class MyClient extends WebChromeClient {
@Override
public void onGeolocationPermissionsShowPrompt(String origin,
Callback callback) {
callback.invoke(origin, true, false);
}
}
public class locationPage extends Activity {
WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.embed);
webView = (WebView) findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webView.getSettings().setGeolocationDatabasePath("/data/data/testWebClient");
webView.requestFocus(View.FOCUS_DOWN);
webView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
});
webView.loadUrl("http://www.example.com/mobile_site/index");
webView.setWebChromeClient(new MyClient());
@SuppressWarnings("unused")
class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
答案 0 :(得分:0)
我正在使用HTML5和css,使用WebView时我的页面的UI被完全破坏了。
位置和缩放级别的差异以及所述的静态菜单。
页面链接即使使用$ mobile.changePage函数也能正常工作,但页面来回闪烁。也许我需要删除Jquery页面链接并动态注入页面而不需要JQM。由于您丢失了历史记录,因此不建议在浏览器上使用。
静态菜单不移动是我想要的结果,所以这对WebView来说是个加分。以及webview提供的全屏。
如果我找到任何解决方法,我会研究更多并发布一些内容。
到目前为止,JQM的表现在两种情况下都非常糟糕,我从本地存储中获取数据。我期望性能好多了......