2017-02-19 6 views
0

反応したネイティブのListviewコンポーネントを使用しています。ページ内のリストビューの行の位置を測定する方法

行の座標はどのように測定できますか? もっと複雑なビューでやっているアニメーションの座標を知る必要があります。

NativeMethodsMixinのメソッド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> 
     } /> 
    ); 
    } 
} 

答えて

0

私はTouchableWithoutFeedbackを測定することができないと思います。これは問題ですか?これが期待される動作であるかどうかはわかりません。

TouchableWithoutFeedbackをビュー内にラップして、代わりにビューを測定することで動作させました。

+1

正確には、すべてを測定することはできません。指定されたコンポーネントがメジャーを実装しているかどうかをチェックする必要があります。 – sodik

関連する問題