需要帮忙为Android ListView添加动画效果。

3
我在我的Android应用程序中有一个ListView。列表中的单个视图比屏幕的大小略小。
我希望列表始终显示一个在屏幕中心的项目,上下仅显示前一个和下一个项目的一小部分。
当用户滚动时,我需要重新定位子视图在位置0或1(取决于他们向哪个方向滚动)。目前,我在onScrollStateChanged方法中调用“setSelectionFromTop”来实现这一点。这种方法可以工作,但转换是立即的,不平稳。在许多情况下,它会引起震动和混乱。
解决这个问题的最佳方法是什么?我想要动画效果来滚动列表到我想要的位置,但我找不到任何方法在ListView或其超类中直接控制整个列表的滚动位置。
我认为我可以使用多个调用setSelectionFromTop(int position,int y)来动画化它,并使用逐渐增加的y值,但我不知道如何确定y的初始值。是否有一些方法可以通过询问指定位置的视图对象来获取它?
我面临的另一个挑战是,我想通过使其消失或向左滑动并使周围的视图上下移动以填充空间来动画显示从列表中删除的项目。是否有一种简单可靠的方法来使用ListView完成这个功能?我应该放弃ListView并从头开始编写整个自定义视图吗?
谢谢。
1个回答

0

这肯定是可能的。 smoothScrollToPosition() 有效吗?

否则,您可以尝试使用 TouchUtils 模拟触摸。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接