【问题标题】:Detect when View within Listview item is visible检测 Listview 项中的 View 何时可见
【发布时间】:2014-07-28 19:46:42
【问题描述】:

我有一个列表视图,其项目包含几个执行动画的自定义视图。问题是即使该项目仅部分显示这些动画也会发生,因此如果视图位于该项目的底部,那么动画在屏幕外发生得太快而您看不到它。

是否有一个回调或类似的我可以挂钩来检测 Listview 项目中的这个 View 何时真正出现在屏幕上,然后在那个时候运行动画?

【问题讨论】:

  • 在列表视图中设置滚动监听器并检查 onScroll() 中的 firstVisibleItem
  • 问题在于 View 本身需要知道它何时会显示在屏幕上。我可以设置一个滚动侦听器,但这只会返回整个列表项。当包含该动画视图的列表项部分刚刚滚动到屏幕上时,我需要制作动画。
  • 如果您的所有视图都没有相同的高度,我不知道该怎么做。如果您的视图高度相同,您可以检查当前滚动位置与 viewHeight*viewPosition

标签: android listview android-listview


【解决方案1】:

尝试使用列表视图方法getLastVisiblePosition()getFirstVisiblePosition()

【讨论】:

    猜你喜欢
    • 2014-09-23
    • 2011-10-21
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 2012-06-26
    相关资源
    最近更新 更多