我目前正在使用 ListView 来显示一些数据。由于设计原因,行占据了屏幕高度的 70%,这意味着总是至少有 2 行可见,最多 3 行。我想确定的是哪一行最明显。
我目前正在使用 onChangeVisibleRows,但这只会告诉我哪些行可见或已进入或离开 View 。
有什么想法吗?
最佳答案
只有当您知道一次有 2-3 行(不多也不少)可见时才有效:
onChangeVisibleRows={(visibleRows) => {
const visibleRowNumbers = Object.keys(visibleRows.s1).map((row) => parseInt(row));
if (visibleRowNumbers.length === 2) {
// visible row is visibleRowNumbers[0]
}
if (visibleRowNumbers.length === 3) {
// visible row is visibleRowNumbers[1]
}
}
请注意,它不会完美 映射到最可见的行,该行被认为是可见的。但是,在使用它时,它在滚动时很有意义。在我的特定应用程序中,事件行和非事件行之间存在明显的转换,因此有助于用户了解发生了什么。
关于react-native - 如何确定 ScrollView (或 ListView )子项是否在 React Native 的 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36291173/