2013-03-25 61 views
0

我有一个带有Web视图的Android应用程序,显示一个jQuery Mobile站点。移动网站在网络视图中的行为与在设备浏览器中的行为有所不同。从Android Webview浏览的jQuery Mobile站点与设备浏览器不同

在该网站中,我使用了静态头和面板。在设备的浏览器,这个工作通常与头滑动面板时打开左侧(请参见下文):

enter image description here

然而,通过应用程序的Web视图加载时,静态头保持100屏幕的宽度的%并覆盖第一三个按钮(请参见下文):

enter image description here

另外,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

我使用HTML5和CSS,使用的WebView当我的页面的UI完全被破坏。

imnage位置和缩放级别的差异以及静态菜单。

页链接的效果使用$ mobile.changePage功能,但页面甚至当闪烁来回。也许我需要删除Jquery页面链接,并在没有JQM的情况下动态注入页面。自从您放弃历史记录以来,不建议在浏览器中使用此功能。

静态菜单不运动是我想要的结果,所以多数民众赞成的WebView有加。以及webview提供的全屏。

我将研究更多一些,并张贴的东西,如果我发现任何变通办法。

JQM表现到目前为止是两个场景和IM从localStorage的获取数据太可怕了。我期望的表现会更好.....