Android自定义viewpager,禁止viewpager左右滑动,去除viewpager切换时动画,解决viewpager与百度地图滑动冲突
public class CustomViewPager extends ViewPager {
private boolean enabled;//是否允许viewpager左右滑动
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = false;
}
//触摸没有反应就可以了
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
//去除页面切换时的滑动翻页效果
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
// TODO Auto-generated method stub
super.setCurrentItem(item, smoothScroll);
}
@Override
public void setCurrentItem(int item) {
// TODO Auto-generated method stub
super.setCurrentItem(item, false);
}
//解决viewPager与百度地图滑动冲突
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if(v.getClass().getName().equals("com.baidu.mapapi.map.MapView")) {
return true;
}
//if(v instanceof MapView){
// return true;
//}
return super.canScroll(v, checkV, dx, x, y);
}
}