2017-02-19 8 views
0

Я использую компонентный ответный компонент 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> 
     } /> 
    ); 
    } 
} 

ответ

0

Я думаю, что TouchableWithoutFeedback не может быть измерена. Это проблема? Я не уверен, что это ожидаемое поведение.

У меня есть работа, обертывая TouchableWithoutFeedback внутри View и измеряя вид вместо этого!

+1

точно, не все может быть измерено. вы должны проверить, соответствует ли данный показатель компонентам. – sodik

 Смежные вопросы

  • Нет связанных вопросов^_^