NoScrollViewPager.java 1.5 KB
package com.xdy.ui.viewgroup;

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

/**
 * @author jianghongbo
 * @version 1.0
 * @file NoScrollViewPager.java
 * @brief
 * @date 2017/3/25
 * Copyright (c) 2017, 学点云
 * All rights reserved.
 */
public class NoScrollViewPager extends ViewPager {
    private boolean isPagingEnabled = true;

    public NoScrollViewPager(Context context) {
        super(context);
    }

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

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return this.isPagingEnabled && super.onTouchEvent(event);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {

        return this.isPagingEnabled && super.onInterceptTouchEvent(event);
    }

    public void setPagingEnabled(boolean b) {
        this.isPagingEnabled = b;
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (listener != null && ev.getAction() == MotionEvent.ACTION_DOWN) {
            listener.onClick();
        }
        return super.dispatchTouchEvent(ev);
    }

    private OnRplayTouchListener listener;

    public interface OnRplayTouchListener {
        public void onClick();
    }

    public void setOnRplayTouchListener(OnRplayTouchListener listener) {
        this.listener = listener;
    }
}