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

  • Kingsimba357

    Kingsimba357

    7 NİSAN 2008
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011