如何测量页面中的列表视图行位置

时间:2017-02-19 21:35:23

标签: react-native react-native-listview

我正在使用react native Listview组件。

如何测量行的坐标? 我需要知道我在一个更复杂的视图中做动画的这些坐标。

我从NativeMethodsMixin找到了方法measure,但我无法让它工作。我收到以下错误:度量不是函数

如何在需要时使用measure函数获取行的坐标?

最小起点:

class MyComponent extends Component { 
   constructor() { 
     super(); 
     const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); 
     this.rows = []
     this.state = { dataSource: ds.cloneWithRows(['row 1', 'row 2'])}; 
   } 
   render() { 
    return ( 
       <ListView dataSource={this.state.dataSource} renderRow={
            (rowData) => 
                 <TouchableWithoutFeedback
                    ref={(row) => {
                       this.rows[rowData] = row
                    }}
                    onPress={(event) => {
                       this.rows[rowData].measure(
                          (x, y, width, height, pageX, pageY) => {})
                    }}>
                    <Text>{rowData}</Text>
                 </TouchableWithoutFeedback>
       } /> 
    ); 
  } 
}

1 个答案:

答案 0 :(得分:0)

我认为无法测量TouchableWithoutFeedback。这是一个问题吗?我不确定这是否是预期的行为。

我通过在视图中包装TouchableWithoutFeedback并测量视图来实现它!