SORU
18 EKİM 2011, Salı


Bir ViewPager üzerinde kaydırma devre dışı bırakmak mümkün

View bir başlatır ViewPager var. Arama sonucu görüntülemek için iade ederken viewpager kaydırma ve alt düğmeleri bir an için devre dışı bırakmak istiyorum. viewPager.setEnabled(false) arama yaptım ama bu devre dışı değil.

Herkes herhangi bir fikir var mı?

CEVAP
18 EKİM 2011, Salı


Basit bir çözüm private boolean bayrak isPagingEnabled ViewPager kendi alt oluşturun. onTouchEvent onInterceptTouchEvent yöntemleri geçersiz kılar. isPagingEnabled super yöntemi çağırmak eşittir, aksi takdirde 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;
    }
}

Layout.XML dosyası <com.yourpackage.CustomViewPager> etiketler <com.android.support.V4.ViewPager> etiketleri değiştirin.

Bu kodu blog post Bu uyarlanmıştır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Breno Rises

    Breno Rises

    7 Ocak 2014
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • STITCHLESS TV how to sew your own style tutorials

    STITCHLESS T

    9 HAZİRAN 2011