让ViewPager不能滑动,只需要监听滑动事件,不做任何处理,然后在使用ViewPager布局的时候不再是android.support.v4.view.ViewPager而是使用自定义的ViewPager,
<!-- 继承一个不能滑动的ViewPager -->
<android.support.v4.view.NoScrollViewPager
android:id="@+id/vp_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
/>不能滑动的ViewPager的自定义
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
/*
* 不让主页的ViewPager滑动,只让其可以点击
*/
public class NoScrollViewPager extends ViewPager {
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public NoScrollViewPager(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
// 表示事件是否拦截, 返回false表示不拦截
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
return false;
}
/*
* 重写onTouchEvent事件,什么都不用做
*/
@Override
public boolean onTouchEvent(MotionEvent arg0) {
return false;
}
}
本文介绍了一种通过自定义ViewPager来禁用其滑动功能的方法。通过重写onInterceptTouchEvent和onTouchEvent方法并返回false,可以让ViewPager仅响应点击事件而非滑动。此技巧适用于希望控制ViewPager交互方式的应用场景。

被折叠的 条评论
为什么被折叠?



