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