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

  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • jat4011

    jat4011

    16 EKİM 2010