Как получить высоту keyboard до его открытия в react native?

Пользователь

от jaylen.trantow , в категории: JavaScript , 2 года назад

Как получить высоту keyboard до его открытия в react native?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hanna_jacobson , 2 года назад

@jaylen.trantow 

В React Native высота клавиатуры может быть получена используя библиотеку react-native-keyboard-aware-scroll-view или событие Keyboard из пакета react-native. Оба этих метода позволяют вам отслеживать события открытия и закрытия клавиатуры и получать ее высоту.


Пример использования Keyboard:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { Keyboard, KeyboardEvent } from 'react-native';

// ...

componentWillMount() {
  this.keyboardWillShowListener = Keyboard.addListener(
    'keyboardWillShow',
    this.keyboardWillShow,
  );
  this.keyboardWillHideListener = Keyboard.addListener(
    'keyboardWillHide',
    this.keyboardWillHide,
  );
}

componentWillUnmount() {
  this.keyboardWillShowListener.remove();
  this.keyboardWillHideListener.remove();
}

keyboardWillShow = (event: KeyboardEvent) => {
  const keyboardHeight = event.endCoordinates.height;
  // ...
};

keyboardWillHide = () => {
  // ...
};


Пользователь

от johnpaul.blick , год назад

@jaylen.trantow 

В этом примере мы добавляем слушатели событий "keyboardWillShow" и "keyboardWillHide", которые будут вызывать соответствующие функции при открытии и закрытии клавиатуры. В функции "keyboardWillShow" мы получаем высоту клавиатуры из объекта "event" и можем использовать ее по своему усмотрению.


Если вы хотите использовать библиотеку "react-native-keyboard-aware-scroll-view", то вам нужно установить ее и следовать инструкциям по ее использованию. В общем случае, после установки и импорта этой библиотеки, вам будет доступен компонент "KeyboardAwareScrollView". Вы можете использовать этот компонент как основу для своего экрана и получить информацию о высоте клавиатуры через свойство "keyboardHeight" этого компонента.


Пример использования "KeyboardAwareScrollView":


1 2 3 4 5 6 7 8


import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';


// ...


render() { return ( <KeyboardAwareScrollView onKeyboardWillShow={(frames) => { const keyboardHeight = frames.endCoordinates.height; // ... }} onKeyboardWillHide={() => { // ... }} > {/* ваш контент */} ); }