2011-08-16 119 views
6

我們的活動中有一個主要的水平滾動視圖,以及嵌套在其中的幾個垂直滾動視圖。這個想法是水平滾動,直到找到想要的垂直列表,然後上下滾動。在Android上嵌套滾動

理想情況下,我願意垂直滾動有一個「鎖定」一旦你開始垂直滾動。現在發生了什麼,如果你非常小心,可以垂直滾動,但是如果在做這件事情時將手指稍微向左/右移動,則垂直停止並且水平接管。

的感覺是什麼將可能使,不管滾動視圖獲取你的運動「激活」第一,那一個,直到完成交互保持活動狀態(即刪除您的手指)。

任何方式使它的行爲如此?

回答

1

如果它適用於您的應用程序,則可以使用ViewPager進行水平滑動。

如果這是行不通的,儘量覆蓋垂直ScrollViews的onTouch方法,使他們避免水平滾動視圖使用

scrollView.setEnabled(false) 

有嵌套在其他ScrollViews內ScrollViews滾動通常是一個不好的做法因爲用戶通常很難瀏覽,因此您可能需要考慮重新設計該活動以避免此問題。

如果必須使用嵌套ScrollViews,我發現這個two-dimensional ScrollView類,可以幫助你。

+1

+1爲不良練習位。我嘗試了一次這樣的嘗試,結果令人沮喪,最終重做了整個用戶界面,結果變得更好,並且手指友好。對於大多數情況來說,這是不值得的。 – Geobits