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

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

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

//自定义ViewPager
import 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值