2011-08-16 54 views
6

Etkinliğimizde ana yatay kaydırma görünümü ve iç içe yerleştirilmiş birkaç dikey kaydırma görünümü var. Buradaki fikir, istediğiniz dikey listeyi bulana kadar yatay olarak kaydırmak, sonra yukarı ve aşağı kaydırmaktır.Android'de iç içe geçmiş kaydırma

Dikey olarak, dikey olarak kaydırmaya başladığınızda dikey kaydırma işleminin "kilitlenmesini" isterim. Şimdi ne olursa olsun, çok dikkatli olursanız, dikey olarak ilerleyebilir, ancak parmağınızı yaparken sol/sağa biraz fazla hareket ettirirseniz, dikey duruşlar ve yatay geçişi gerçekleştirir.

Muhtemelen mantıklı olan şey, kaydırma hareketi ilk önce sizin hareketinizle "aktive" edilirse, etkileşiminizi tamamlayana kadar (yani parmağınızı kaldırarak) aktif olan şeydir.

Böyle davranmak için herhangi bir yolu var mı?

cevap

1

Uygulamanız için çalışıyorsa, yatay kaydırma için bir ViewPager kullanmak daha iyi olabilir. Bu işe yaramaz ise diğer ScrollViews iç içe ScrollViews olması

scrollView.setEnabled(false) 

kullanarak kaydırma yatay kaydırma görünümünü önlemek, böylece dikey ScrollViews ait onTouch yöntemini geçersiz kılmayı deneyin

genellikle kötü bir uygulamadır Kullanıcının gezinmesi genellikle daha zor olduğundan, bu sorunu önlemek için söz konusu Etkinliği yeniden tasarlamayı düşünmeniz gerekebilir.

Yuvalanmış ScrollViews kullanmanız gerekiyorsa, size yardımcı olabilecek bu two-dimensional ScrollView sınıfını buldum. Kötü uygulama biti için

+1

+1. Bir zamanlar böyle bir şey denedim ve çok sinir bozucuydu, tüm kullanıcı arayüzünü yeniden bitirdim ve çok daha iyi ve parmak dostu çıktı. Çoğu vaka için çabaya değmez. – Geobits

İlgili konular