2012-09-01 19 views
5

Vizörün yalnızca tek yönde ilerlemesini nasıl engelleyebilirim? Örneğin, yalnızca sağa doğru hareket etmesine izin verin, ancak sola değil. Kesinlikle takıldım, herhangi bir yardım çok takdir edilecektir. Bunu Android sürüm 2.2 için çalışmaya almam gerektiğine dikkat etmek için ViewPager için uyumlu kitaplık kullanıyorum. Orijinal ViewPager uzanır kendi ViewPager yapmak ve onTouchEvent yönteminiViewpage belirli bir yönde kaydırmayı durdurma

public class CustomViewPager extends ViewPager { 

    float lastX = 0; 

    boolean lockScroll = false; 

    public CustomViewPager(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public CustomViewPager(Context context) { 
     super(context); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent ev) { 

     switch (ev.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      lastX = ev.getX(); 
      lockScroll = false; 
      return super.onTouchEvent(ev); 
     case MotionEvent.ACTION_MOVE: 

      if (lastX > ev.getX()) { 
       lockScroll = false; 
      } else { 
       lockScroll = true; 
      } 

      lastX = ev.getX(); 
      break; 
     } 

     lastX = ev.getX(); 

     if(lockScroll) { 
      return false; 
     } else { 
      return super.onTouchEvent(ev); 
     } 

    } 



} 

cevap

6

peşin

yılında

Teşekkür - maalesef bu işe yaramaz. OnTouchEvent olayını bile denedim, ama ne yazık ki neşe yok.

+0

Merhaba Ali geçersiz kılmak zorunda kalacak –

+0

Başka bir numara, bir sonraki görünüme geçtiğinizde, ilkini siler. Birkaç dakika sonra güncellenir. –

+1

Cevabımı güncelledim, yeni kodu test ettim ve işe yaradı. –

İlgili konular