去除ViewPager页面切换动画和禁止滑动

来源:互联网 发布:疯狂java讲义第几版好 编辑:程序博客网 时间:2024/06/06 00:47

直接定义一个类继承ViewPager:

去除页面切换时的滑动翻页效果

  1. public class CustomViewPager extends ViewPager {  
  2.   
  3.   
  4.     public CustomViewPager(Context context, AttributeSet attrs) {  
  5.         super(context, attrs);  
  6.     }  
  7.   
  8.     public CustomViewPager(Context context) {  
  9.         super(context);  
  10.     }  
  11.       
  12.     //去除页面切换时的滑动翻页效果  
  13.         @Override  
  14.         public void setCurrentItem(int item, boolean smoothScroll) {  
  15.             // TODO Auto-generated method stub  
  16.             super.setCurrentItem(item, smoothScroll);  
  17.         }  
  18.   
  19.         @Override  
  20.         public void setCurrentItem(int item) {  
  21.             // TODO Auto-generated method stub  
  22.             super.setCurrentItem(item, false);  
  23.         }  
  24.   
  25. }  

禁止ViewPager滑动


    @Override

    public boolean dispatchTouchEvent(MotionEvent ev) {    return super.dispatchTouchEvent(ev);}@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {    return false;}@Overridepublic boolean onTouchEvent(MotionEvent ev) {    return false;}

解决viewPager与百度地图滑动冲突 


  1. /** 
  2.      * 解决viewPager与百度地图滑动冲突 
  3.      * */  
  4.     @Override  
  5.     protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {  
  6.         if(v.getClass().getName().equals("com.baidu.mapapi.map.MapView")) {  
  7.             return true;  
  8.         }  
  9.         //if(v instanceof MapView){  
  10.         //    return true;  
  11.         //}  
  12.         return super.canScroll(v, checkV, dx, x, y);  
  13.     }  

ViewPager的几个属性:

//设置缓存view 的个数(实际有5个,缓存4个+正在显示的1个)container.setOffscreenPageLimit(5);//设置viewpager每个页卡的间距,与gallery的spacing属性类似
//viewpager.setPageMargin((int)getResources().getDimensionPixelOffset(R.dimen.ui_5_dip))
container.setPageMargin(10);
  1. //去除页面切换时的滑动翻页效果  
  2.         @Override  
  3.         public void setCurrentItem(int item, boolean smoothScroll) {  
  4.             // TODO Auto-generated method stub  
  5.             super.setCurrentItem(item, smoothScroll);  
  6.         }  
  7.   
  8.         @Override  
  9.         public void setCurrentItem(int item) {  
  10.             // TODO Auto-generated method stub  
  11.             super.setCurrentItem(item, false);  
  12.         }  

滑动到尽头时去掉阴影效果

ViewPager      ScrollView   ListView

android:overScrollMode="never"