列表视图平滑滚动,直到项目位于顶部

You*_*sef 2 animation android listview android-listview

我正在开发一个Android应用程序,我有一个包含10个项目的列表视图.我需要做以下事情.当用户单击按钮时,我希望列表平滑滚动到位置5处的项目,因此该项目显示在列表的顶部.

我找到了两种可用于此的方法,但这两种方法并不能完全满足我的需要:

listView.setSelection(5) 这将滚动到该行并将其放在列表顶部但没有动画

list.smoothScrollToPosition(5) 这将滚动列表视图,直到该行可见但它不会将其置于顶部(它位于页面的底部),如果该行已经全部可见,则它将不会滚动,因为它认为它是可见的.

那么是否有一种方法setSelection可以获得与方法相同的行为但是使用smoothscrolling?

谢谢

Cis*_*elo 5

我相信smoothScrollToPositionFromTop()可以满足您的需求.

还有一个将以毫秒为单位的所需动画持续时间作为参数.