2013-03-25 73 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的獲取數據太可怕了。我期望的表現會更好.....