Я использую компонентный ответный компонент Listview.Как измерить расположение строки списка на странице
Как измерить координаты строки? Мне нужно знать эти координаты для анимации, которую я делаю в более сложном виде.
Я нашел способ measure от NativeMethodsMixin, но я не могу заставить его работать. Я получаю следующую ошибку: мера не является функцией
Как я могу использовать функцию измерения, чтобы получить координаты строки при необходимости?
Минимальная начальная точка:
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