【问题标题】:How to recognize if element is on the screen using react native?如何使用本机反应识别元素是否在屏幕上?
【发布时间】:2016-08-23 13:20:56
【问题描述】:

当用户在我的应用中滚动帖子时,我想识别用户现在正在查看的当前帖子。

【问题讨论】:

  • 你在用pagingEnabled
  • 不,我使用的是滚动视图

标签: react-native react-native-scrollview


【解决方案1】:

你可以从contentOffset获得滚动的y位置

<ScrollView
  ref={(s) => this.scrollview = s}
  onScroll={(event) => {console.log(event.nativeEvent.contentOffset.y)}}
  ...
></ScrollView>

【讨论】:

  • 是的,但是您仍然没有告诉我如何识别用户现在在滚动时看到的组件/元素。
  • 如果滚动视图中的所有项目都具有相同的高度,则contentOffset.y / itemHeight。如果不相等 - 当他们到达您的 y 时一一相加
  • 如果你能给我一个小的工作示例,因为我真的还是错过了一些东西.....让我们说如果我们有 scrollView 的位置 y 并且我们知道帖子的高度是类似于每个帖子。我怎么知道现在用户看到了第七项? ,当然,如果我在脑海中计算它,我会知道它,但是我如何在滚动时使用 react native script 识别它?我怎么知道在用户看到它的那一刻触发可见元素?
  • 我想我现在明白了你的想法,我会测试一下,如果一切都按照你的建议运行良好,我会接受你的回答。
  • 如果我想用listView做同样的动作,是一样的想法还是有别的方法?
猜你喜欢
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
  • 1970-01-01
  • 2020-09-10
相关资源
最近更新 更多