当转到较低的索引时,smoothScrollToPositionFromTop不顺畅

时间:2015-06-18 15:35:55

标签: android listview

我需要我的listview随时滚动到特定位置,将行放在listview顶部的这个位置。

为此,我使用smoothScrollToPositionFromTop(int position, int offset, int duration)

现在让我们说我的魔杖从索引6到10,它滚动顺畅。在那之后让我说我想要倒退,例如,滚动根本不平滑,它看起来像是一个快速的翻译。

知道我可能缺少什么或任何解决方法吗?

2 个答案:

答案 0 :(得分:0)

我认为在返回时使用smoothScrollToPositionFromTop()是造成问题的原因。

更喜欢使用smoothScrollToPosition()

答案 1 :(得分:0)

解决!我不得不使用一种解决方法,基本上:

int topPosition = mListView.getFirstVisiblePosition();
if (targetPosition > topPosition) {
    mListView.smoothScrollToPositionFromTop(targetPosition, 0, duration);
} else if (targetPosition < topPosition) {
    View firstView = mListViewWeeks.getChildAt(0);
    int height = firstView.getHeight();
    mListView.smoothScrollBy(-height * (topPosition - targetPosition), duration);
}