Android:禁止viewpager左右滑動,去除viewpager切換時動畫,解決viewpager與百度地圖滑動衝突
阿新 • • 發佈:2018-11-28
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);
}
}