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

直接定义一个类继承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滑动


 
  1. @Override

 
  1. 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与百度地图滑动冲突 


  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"


版权声明:本文为ht1063899049原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。