Android :: setBuiltinzoomcontrol在webview中不起作用

时间:2015-02-21 15:47:33

标签: android android-webview

我已经实现了自定义webview并使用滑动手势探测器.swipe工作完美... 我已经在变焦控制中设置了内置并将支持缩放设置为true。

仍然可以缩放控制功能。

下面的

是oncreate methid中的代码..

wvBrowser = ( CustomWebView ) findViewById( R.id.wvBrowser );

    wvBrowser.getSettings( ).setLoadsImagesAutomatically( true );
    wvBrowser.getSettings( ).setJavaScriptEnabled( true );
    wvBrowser.getSettings( ).setBuiltInZoomControls( true );
    wvBrowser.getSettings( ).setSupportZoom( true );
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        wvBrowser.getSettings( ).setDisplayZoomControls(true);
    }
下面的

是自定义手势检测器监听器

private class CustomeGestureDetector extends SimpleOnGestureListener {      
    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        if(e1 == null || e2 == null) return false;
        if(e1.getPointerCount() > 1 || e2.getPointerCount() > 1) return false;
        else {
            try { // right to left swipe .. go to next page
                if(e1.getX() - e2.getX() > 100 && Math.abs(velocityX) > 800) {

                    moveDown();
                    return true;
                } //left to right swipe .. go to prev page
                else if (e2.getX() - e1.getX() > 100 && Math.abs(velocityX) > 800) {

                    moveUp();
                    return true;
                } 
            } catch (Exception e) { // nothing
            }
            return false;
        }
    }

}

自定义网页浏览

public class CustomWebView extends WebView{
private GestureDetector gestureDetector;

public CustomWebView(Context context) {
    super(context);

}

public CustomWebView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public CustomWebView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    super.onScrollChanged(l, t, oldl, oldt);
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
    return gestureDetector.onTouchEvent(ev) || super.onTouchEvent(ev);
}

public void setGestureDetector(GestureDetector gestureDetector) {
    this.gestureDetector = gestureDetector;
}



}

请帮我完美设置内置变焦控制。

0 个答案:

没有答案