Viewpager中的WebView处理翻屏手势问题

来源:互联网 发布:小学英语视频教学软件 编辑:程序博客网 时间:2024/05/17 03:28
public class MyWebView extends WebView {private float oldX;private boolean overScrollLeft = false;private boolean overScrollRight = false;private boolean isScrolling = false;public MyWebView(Context context) {super(context);this.loadUrl("http://www.baidu.com");}public MyWebView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);this.loadUrl("http://www.baidu.com");}public MyWebView(Context context, AttributeSet attrs) {super(context, attrs);this.setScrollbarFadingEnabled(false);this.getSettings().setSupportZoom(true);this.getSettings().setBuiltInZoomControls(true);this.loadUrl("http://www. baidu.com/");}@Overridepublic boolean onTouchEvent(MotionEvent event) {int scrollBarWidth = getVerticalScrollbarWidth();int viewWidth = computeHorizontalScrollExtent();int innerWidth = computeHorizontalScrollRange();int scrollBarLeftPos = computeHorizontalScrollOffset();int scrollBarRightPos = scrollBarLeftPos + viewWidth - scrollBarWidth;Log.d("z","scrollBarRightPos===>"+scrollBarRightPos);Log.d("z","innerWidth===>"+innerWidth);if (scrollBarRightPos >= innerWidth-10) {if(event.getAction()==MotionEvent.ACTION_DOWN){oldX=event.getX();super.onTouchEvent(event);return true;}if(event.getX()<oldX){return false;}else{this.getParent().requestDisallowInterceptTouchEvent(true);super.onTouchEvent(event);return true;}}else if(scrollBarLeftPos <= 10){if(event.getAction()==MotionEvent.ACTION_DOWN ){oldX=event.getX();super.onTouchEvent(event);return true;}if(event.getX()>oldX){return false;}else{this.getParent().requestDisallowInterceptTouchEvent(true);super.onTouchEvent(event);return true;}}else {this.getParent().requestDisallowInterceptTouchEvent(true);super.onTouchEvent(event);return true;}}}// 灵感来自  http://blog.csdn.net/ultrapro/article/details/7847183

原创粉丝点击