2014-05-07 254 views
1

asked之前關於ListView中的OverScroll。默認overScroll在許多設備上不起作用(例如:Samsung Galaxy 2,HTC One X)。所以我做了OverScrollListViewAndroid滾動查看滾動查看

但現在需要做相同的ScrollView。我製作了頂尖超卷的技巧(使用overScrollBy中的正數)。但是當我試圖做同樣的底部(通過在overScrollBy使用負數),滾動ScrollView滾動到頂部位置。

有人可以說爲什麼嗎?

P.S.我也試過this。但即使在頂部(或底部)位置,滾動條指示器顯示在中間的某處。 這使用戶混淆...

回答

1

好吧,我想我做到了。

但它真的很奇怪。

我有反彈時的方法,我在ACTION_MOVE撥打:

private void pullDown(int deltaY, int lastY) { 
    overScrollBy(0, mSlowEffect ? (int)getOverScrollYWithSlow(deltaY) : deltaY, 0, lastY, 5, 5, 0, mMaxYOverscrollDistance, true); 
} 

對於ListView控件的反彈時我只設置移動deltaY像pullDown(lastScroll, 0);

它同時適用於:頂部和底部反彈時。

但對於ScrollView,它不適用於底部過卷。所以我們應該發送到此方法也當前scrollY位置,如pullDown(lastScroll , lastY);

我分享整個代碼Github,如果有人感興趣。