2010-09-17 17 views
6

İki tane gizli görüntü içeren bir ScrollView'um var, biri üstten ve diğeri de bir. Arada bir sürü görsel içerik var.Android: ScrollView'ın ne zaman kaydırma yaptığını ve geri sıçradığını belirledikten sonra bunu algıla.

Yapmam gereken şey bu görüntüleri varsayılan olarak gizli tutmaktır, ancak yukarı veya aşağı doğru kaydırdığınızda, onları kaydırırken görebilirsiniz. Ancak, kaydırma işlemini durdurduğunuz anda, gizli görüntülerin gösterilmemesi için görünür alana geri dönmesi gerekir.

Temel olarak, iphone UIScrollView öğesinin çıkıp kaydırma özelliğini taklit etmeye çalışıyorum.

ScrollView'um tüm kurulumum var ve en üstteki gizli görüntünün gizlenmesi için başlangıçta kaydırma işlemi yapıyorum. Şimdi tek yapmam gereken, bir kaydırmanın ne zaman sona erdiğini algılamak, Y konumunu belirlemek ve gizli bir görüntünün gösterilip gösterilmediğini kontrol etmektir. Öyleyse, gizli görüntünün gizlenmesini sağlamak için görünümü geriye doğru kaydırırdım.

Umarım mantıklıdır.

Yine de, bir ScrollView'ı nasıl programla kaydırılacağını biliyorum. Şimdi ihtiyacım olan şey, bir ScrollView'ın kaydırma işlemini tamamladığında ve ScrollView'ın geçerli 'Y' konumunu almanın bir yolu olduğunu söyleyen bir tür geri arama. Kullanabileceğim böyle bir yöntem var mı?

ScrollView belgelerine baktım ama hiçbir şey atlamamıştı. Hala Android isimlendirme programlarına pek aşina değilim, belki de bir yerlerde bariz bir şeyi özlüyorum.

Her durumda, burada herhangi bir yardım takdir edilecektir. Şerefe.

cevap

4

Kullanıcının listeyi bastığında/serbest bıraktığını algılamak için OnTouchListener kullanabilirsiniz. liste değil bir durumdan değişecek devlet kaydırma durduğunda -

Ayrıca SCROLL_STATE değişiklikleri algılamak için OnScrollListener sınıfının onScrollStateChanged yöntemini (dokunmatik dinleyici ile birlikte büyük olasılıkla) kullanabilir SCROLL_STATE_IDLE, SCROLL_STATE_IDLE.

Alternatif olarak, 2.3 veya üstü kullanıyorsanız, istediğiniz efekti elde etmek için bir OverScroller kullanabilirsiniz (bkz. Kaydırma kaydırma efektini iPhone benzeri bir şekilde değiştirmek için bkz. Modifying Android OverScroll).

+13

ScrollView için OnScrollListener yok – Frank

İlgili konular