gpt4 book ai didi

android - 需要帮助动画 Android ListView

转载 作者:太空狗 更新时间:2023-10-29 15:23:05 26 4
gpt4 key购买 nike

我的 Android 应用程序中有一个 ListView。列表中的各个 View 比屏幕尺寸略小。

我希望列表始终在屏幕中央显示一个项目,只有一小部分上一个和下一个项目显示在它的上方和下方。

当用户滚动时,我需要将 subview 重新定位在位置 0 或 1(取决于他们滚动的方式)。目前我通过在我的 onScrollStateChanged 方法中调用“setSelectionFromTop”来做到这一点。这行得通,但过渡是立即的,而不是平滑的。在很多情况下,这是不和谐和令人困惑的。

解决此问题的最佳方法是什么?我想为将列表滚动到我想要的位置的过程设置动画,但我在 ListView 或其父类(super class)中找不到任何方法可以让我直接控制整个列表的滚动位置。

我想我可以通过多次调用 setSelectionFromTop(int position, int y) 和 y 的渐进值来制作动画,但我不知道如何确定 y 的初始值。有没有办法通过询问指定位置的 View 对象来获得它?

摆在我面前的另一个挑战是,我想为从列表中删除一个项目制作动画——让它消失或向左滑动,然后让周围的 View 上下移动以填充空间。使用 ListView 是否有一种直接可靠的方法来做到这一点?我是否应该放弃 ListView 并从头开始将整个内容编写为自定义 View ?

谢谢。

最佳答案

这绝对应该是可能的。 smoothScrollToPosition() 有效吗?

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

关于android - 需要帮助动画 Android ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com