我沒有在任何其他設備上測試過,但在2.1設備上,在打開了縮放控件的WebView中,有時會出現一個吐司消息,提示類似「提示:雙擊放大和縮小」。我不知道它來自哪裏,因爲我的代碼中沒有任何內容要求它出現。有什麼辦法可以禁用它嗎?如何禁用有時與WebView中的縮放控件一起出現的提示吐司消息?
我不知道如何重現它,但它似乎更經常發生時,應用程序是新安裝的。
我沒有在任何其他設備上測試過,但在2.1設備上,在打開了縮放控件的WebView中,有時會出現一個吐司消息,提示類似「提示:雙擊放大和縮小」。我不知道它來自哪裏,因爲我的代碼中沒有任何內容要求它出現。有什麼辦法可以禁用它嗎?如何禁用有時與WebView中的縮放控件一起出現的提示吐司消息?
我不知道如何重現它,但它似乎更經常發生時,應用程序是新安裝的。
正如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獲得更多信息之前。
從看着它從功能的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
基於setDoubleTapToastCount的可見性和審查WebSettings的來源,目前似乎無法禁用此消息。 – 2011-01-20 05:47:22
@nick這就是我想出的,但如果有人想確定他們應該創建一個測試應用程序,並嘗試他們可以。我覺得這隻會導致死路一條,儘管 – wajiw 2011-01-21 20:04:21