自定义ViePage实现禁用滑动和释放的效果

来源:互联网 发布:linux嵌入式招聘 编辑:程序博客网 时间:2024/05/21 03:26

自定义ViePage实现禁用滑动和释放的效果

在项目开发中,遇到这样一个问题,用ViewPager+5个页面,实现教师对学生评价的效果,每个页面是一种评价的范围,如:当教师选择了第一页的评价时,这是禁用ViewPager的滑动,当教师取消选择了第一页的评价时,释放ViewPager的滑动.直接上代码,大家看下应该就能明白,

//自定义ViewPagerimport android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent;import android.widget.Toast; public class MyViewPager extends ViewPager {     private boolean scrollble = true;     public MyViewPager(Context context) {         super(context);     }     public MyViewPager(Context context, AttributeSet attrs) {         super(context, attrs);     }     /**     * 事件拦截     * true 拦截子控件的事件     * fasle 不拦截子控件的事件     */    @Override    public boolean onInterceptTouchEvent(MotionEvent arg0) {        if (!scrollble) {             return false;         }        return super.onInterceptTouchEvent(arg0);    }     /**     * 事件的处理    重写此方法,根据返回值来判断是否处理触摸事件     * true 不处理触摸事件     * fasle 处理触摸事件     */    @Override     public boolean onTouchEvent(MotionEvent ev) {         if (!scrollble) {             return true;         }         return super.onTouchEvent(ev);     }     public boolean isScrollble() {         return scrollble;     }     public void setScrollble(boolean scrollble) {         this.scrollble = scrollble;     } } 

使用方法:

MyViewPager.setScrollble(false); // 禁用ViewPager的滑动事件MyViewPager. setScrollble(true); // 释放ViewPager的滑动事件
0 0
原创粉丝点击