Неизвестная ошибка: Невозможно построить: файл dx.jar не был загружен из папки SDK

2017 Ответ

Вероятно, KeyboardAvoidingView - лучший способ. Ознакомьтесь с документами здесь . Это действительно просто по сравнению с модулем Keyboard, который дает разработчику больше возможностей для анимации. Спенсер Карли продемонстрировал все возможные способы в своем среднем блоге .

2015 Отвечать

Правильный способ сделать это в react-native не требует внешних библиотек, использует собственный код и включает анимацию.

Сначала определите функцию, которая будет обрабатывать событие onFocus для каждого TextInput (или любого другого компонента, который вы хотели бы прокрутить):

// Scroll a component into view. Just pass the component ref string.
inputFocused (refName) {
  setTimeout(() => {
    let scrollResponder = this.refs.scrollView.getScrollResponder();
    scrollResponder.scrollResponderScrollNativeHandleToKeyboard(
      React.findNodeHandle(this.refs[refName]),
      110, //additionalOffset
      true
    );
  }, 50);
}

Затем в вашей функции рендеринга:

render () {
  return (
    
        
  )
}

Это использует RCTDeviceEventEmitter для событий и размеров клавиатуры, измеряет положение компонента с помощью RCTUIManager.measureLayout и вычисляет точное перемещение прокрутки, требуемое в scrollResponderInputMeasureAndScrollToKeyboard.

Вы можете захотеть поиграть с параметром additionalOffset, чтобы соответствовать потребностям вашего конкретного дизайна пользовательского интерфейса.

29
задан Jaime Montoya 24 March 2017 в 21:47
поделиться