直接定义一个类继承ViewPager:
去除页面切换时的滑动翻页效果
public class CustomViewPager extends ViewPager { public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } public CustomViewPager(Context context) { super(context); } //去除页面切换时的滑动翻页效果 @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
public boolean dispatchTouchEvent(MotionEvent ev) { return super.dispatchTouchEvent(ev); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return false; } @Override public boolean onTouchEvent(MotionEvent ev) { return false; }
解决viewPager与百度地图滑动冲突
/** * 解决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); }
ViewPager的几个属性:
//设置缓存view 的个数(实际有5个,缓存4个+正在显示的1个) container.setOffscreenPageLimit(5); //设置viewpager每个页卡的间距,与gallery的spacing属性类似 //viewpager.setPageMargin((int)getResources().getDimensionPixelOffset(R.dimen.ui_5_dip))container.setPageMargin(10); //去除页面切换时的滑动翻页效果 @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); }