ViewPager非常好用,但有時候需要在ViewPager的里面再嵌入ViewPager,那么就有沖突了,簡單粗暴的方法就是直接把一個ViewPager禁止滑動。
注意:禁止滑動的同時不能禁止 setCurrentItem 方法。
實現(xiàn)思路:重寫ViewPager,覆蓋 onTouchEvent 和 onInterceptTouchEvent 方法,使其返回false,這樣就等于禁止了ViewPager上的滑動事件。
java文件寫法:
package com.miquan.view;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
/**
-
不可以滑動,但是可以setCurrentItem的ViewPager。
*/
public class NoScrollViewPager extends ViewPager {
public NoScrollViewPager(Context context) {
super(context);
}public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}@Override
public boolean onTouchEvent(MotionEvent arg0) {
return false;
}@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
return false;
}
}
xml文件寫法:
<com.example.pwj.service.NoScrollViewPager
android:id="@+id/id_viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</com.example.pwj.service.NoScrollViewPager>
調用方法
直接調用就可以:
NoScrollViewPager mViewPager = (NoScrollViewPager) findViewById(R.id.id_viewpager);