Basit bir çözüm, ViewPager
bir private boolean
bayrağı olan kendi alt sınıfınızı oluşturmaktır isPagingEnabled
. Sonra onTouchEvent
ve onInterceptTouchEvent
yöntemlerini geçersiz kılın . Eğer isPagingEnabled
çağırmak doğrudur eşittir super
, aksi takdirde yöntemle return
.
public class CustomViewPager extends ViewPager {
private boolean isPagingEnabled = true;
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onTouchEvent(event);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return this.isPagingEnabled && super.onInterceptTouchEvent(event);
}
public void setPagingEnabled(boolean b) {
this.isPagingEnabled = b;
}
}
Ardından, Layout.XML
dosyanızdaki tüm <com.android.support.V4.ViewPager>
etiketleri etiketlerle değiştirin <com.yourpackage.CustomViewPager>
.
Bu kod, bu blog yayınından uyarlandı .