Android webview多点触控缩放在HVGA中不起作用

时间:2011-01-21 13:47:14

标签: android webview

在galaxy S上,缩放控件适用于多点触控,但在HTC Legend上,相同的代码不起作用。怎么了?

2 个答案:

答案 0 :(得分:1)

HTC传奇和多点触控正在发生一些事情。看到这个-i同意,而不是凌乱的链接:http://www.htclegendforum.com/htc-legend-general-discussion/only-%27pinch-to-zoom%27-no-tual-touch-no-multi-touch/

据我了解,HTC图例仅支持“缩放缩放”,而非真正的多点触控。

答案 1 :(得分:1)

Htc已经对他们的网络视图实施做了一些更改,这需要调用一些API,以便在这些手机上进行缩放。请尝试以下方法:

_webView.getSettings().setBuiltInZoomControls(true);
        try {
            Method m = _webView.getClass().getMethod("enableMultiTouch",
                    null);
            if (m != null) {
                m.invoke(_webView, null);
            }
        } catch (Exception e) {
            //e.printStackTrace();
        }

        try {
            Method m = _webView.getClass().getMethod(
                    "enableMultiTouchTextRelow", boolean.class);
            if (m != null) {
                m.invoke(_webView, false);
            }
        } catch (Exception e) {
            //e.printStackTrace();
        }
        try {

            Method m = _webView.getClass().getMethod(
                    "setIsCacheDrawBitmap", boolean.class);
            if (m != null) {
                m.invoke(_webView, false);
            }
        } catch (Exception e) {
            // e.printStackTrace();
        }

        // Must for HTC EVO to do text reflow after double tap
        try {
            Method m = _webView.getClass().getMethod("enableSmartZoom",
                    null);
            if (m != null) {
                m.invoke(_webView, null);
            }
        } catch (Exception e) {
            // e.printStackTrace();
        }