Мне просто интересно, как сторонние веб-браузеры переключают «режим рабочего стола». Я не думаю, что они используют это. Я думаю, что они меняют пользовательский агент или что-то.

Settings есть несколько методов, связанных с масштабированием:

WebSettings.setSupportZoomWebSettings.setBuiltInZoomControls

Я заметил, что они работают по-разному на некоторых устройствах. Например, на моем Galaxy S функция масштабирования по умолчанию включена, но на LG P500 она отключена (и теперь я не знаю, как включить ТОЛЬКО масштабирование, но скрыть кнопки масштабирования).

На P500, когда я звонюsetBuiltInZoomControls(true) У меня оба эти варианта работают (мультитач и кнопки).

Как включить мультисенсорное масштабирование и отключить кнопки масштабирования на устройствах, таких как LG P500? (Также я знаю, что такие же проблемы есть на устройствах HTC)

ОБНОВЛЕНИЕ: Вот почти полный код для решения

    if (ev.getAction() == MotionEvent.ACTION_DOWN ||
            ev.getAction() == MotionEvent.ACTION_POINTER_DOWN ||
            ev.getAction() == MotionEvent.ACTION_POINTER_1_DOWN ||
            ev.getAction() == MotionEvent.ACTION_POINTER_2_DOWN ||
            ev.getAction() == MotionEvent.ACTION_POINTER_3_DOWN) {
        if (multiTouchZoom && !buttonsZoom) {
            if (getPointerCount(ev) > 1) {
                getSettings().setBuiltInZoomControls(true);
                getSettings().setSupportZoom(true);
            } else {
                getSettings().setBuiltInZoomControls(false);
                getSettings().setSupportZoom(false);
            }
        }
    }

    if (!multiTouchZoom && buttonsZoom) {
        if (getPointerCount(ev) > 1) {
            return true;
        }
    }

Этот код в моемonTouchEvent переопределенный метод WebView.

Ответы на вопрос(8)

Ваш ответ на вопрос