赞
踩
在项目开发中,遇到这样一个问题,用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的滑动事件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。