2011-01-09 27 views
10

我沒有在任何其他設備上測試過,但在2.1設備上,在打開了縮放控件的WebView中,有時會出現一個吐司消息,提示類似「提示:雙擊放大和縮小」。我不知道它來自哪裏,因爲我的代碼中沒有任何內容要求它出現。有什麼辦法可以禁用它嗎?如何禁用有時與WebView中的縮放控件一起出現的提示吐司消息?

我不知道如何重現它,但它似乎更經常發生時,應用程序是新安裝的。

回答

9

正如wajiw的答覆中指出的全部源代碼,麪包是基於WebSettings雙輕叩敬酒計數。有一個基於搶佔價值的解決方法。 WebSettings從SharedPreferences中獲取雙擊吐司計數的值。重寫首選項值將禁用烤麪包。

該偏好設置基於WebSettings中的私有值,因此它並不理想。如果實施改變了,這可能會很好地停止工作。所以,請自擔風險使用。

以下是WebSettings用於SharedPreferences的值。你需要在課堂上覆制它們。

private static final String PREF_FILE = "WebViewSettings"; 
private static final String DOUBLE_TAP_TOAST_COUNT = "double_tap_toast_count"; 

然後,您需要更改值,您使用的WebView

SharedPreferences prefs = context.getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE); 
if (prefs.getInt(DOUBLE_TAP_TOAST_COUNT, 1) > 0) { 
    prefs.edit().putInt(DOUBLE_TAP_TOAST_COUNT, 0).commit(); 
} 

退房WebSettings source code獲得更多信息之前。

4

從看着它從功能的startDrag來的WebView.java來源:

private void startDrag() { 
     WebViewCore.reducePriority(); 
     // to get better performance, pause updating the picture 
     WebViewCore.pauseUpdatePicture(mWebViewCore); 
     if (!mDragFromTextInput) { 
      nativeHideCursor(); 
     } 
     WebSettings settings = getSettings(); 
     if (settings.supportZoom() 
       && settings.getBuiltInZoomControls() 
       && !getZoomButtonsController().isVisible() 
       && mMinZoomScale < mMaxZoomScale 
       && (mHorizontalScrollBarMode != SCROLLBAR_ALWAYSOFF 
         || mVerticalScrollBarMode != SCROLLBAR_ALWAYSOFF)) { 
      mZoomButtonsController.setVisible(true); 
      int count = settings.getDoubleTapToastCount(); 
      if (mInZoomOverview && count > 0) { 
       settings.setDoubleTapToastCount(--count); 
       Toast.makeText(mContext, 
         com.android.internal.R.string.double_tap_toast, 
         Toast.LENGTH_LONG).show(); 
      } 
     } 
    } 

的設置可通過訪問的getSettings()。從那裏我會嘗試調用setDoubleTapToastCount並使用類似0或-1的值作爲值。如果這不起作用,你可能會失敗。

見WebView.java here

+2

基於setDoubleTapToastCount的可見性和審查WebSettings的來源,目前似乎無法禁用此消息。 – 2011-01-20 05:47:22

+0

@nick這就是我想出的,但如果有人想確定他們應該創建一個測試應用程序,並嘗試他們可以。我覺得這隻會導致死路一條,儘管 – wajiw 2011-01-21 20:04:21