zoukankan      html  css  js  c++  java
  • 自定义ViewPager,避免左右滑动时与水平滑动控件冲突

    import android.content.Context;
    import android.support.v4.view.ViewPager;
    import android.util.AttributeSet;
    import android.view.MotionEvent;
    import android.view.View;

    public class CanScrollViewPager extends ViewPager {
    private boolean mNoScroll = false;//标记不允许左右滚动

    /**
    * @param context
    * @param attrs
    */
    public CanScrollViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
    }

    /**
    * @param context
    */
    public CanScrollViewPager(Context context) {
    super(context);
    }


    @Override
    protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
    if (v != this && (v instanceof PageWebView || v instanceof HorizontalGalleryView)) {
    requestDisallowInterceptTouchEvent(true);
    return true;
    }
    return super.canScroll(v, checkV, dx, x, y);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
    switch (ev.getAction()) {
    case MotionEvent.ACTION_UP:
    case MotionEvent.ACTION_CANCEL:
    break;
    default:
    break;
    }
    return super.dispatchTouchEvent(ev);
    }

    //设置不允许左右滚动
    public void setNoScroll(boolean noScroll) {
    this.mNoScroll = noScroll;
    }

    @Override
    public boolean onTouchEvent(MotionEvent arg0) {
    if (mNoScroll) {
    return false;
    }
    return super.onTouchEvent(arg0);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
    if (mNoScroll) {
    return false;
    }

    return super.onInterceptTouchEvent(arg0);
    }
    }
  • 相关阅读:
    ExtJS 4.0 改善Ext.grid.plugin.RowEditing (重构,v1.4版本,20110911)
    GeoServer源码解析和扩展 (四)文件系统
    Ext蒙板效果
    Ext Grid表格的自动宽度及高度的实现
    Extjs4用RowEditing对数据进行增加,修改
    ExtJs4.0 Grid分頁詳解
    canvas的处理图片功能
    cookie的设置和读取
    html5的canvas知识
    初学jquery mobile
  • 原文地址:https://www.cnblogs.com/agilezhu/p/5881176.html
Copyright © 2011-2022 走看看