-
[React-Native] 키보드의 크기의 정보를 받고 싶을 때React-Native 2022. 6. 16. 19:48
키보드의 높이의 정보를 가지고 작업을 할 때 유용합니다.
import
import { Keyboard } from 'react-native';
Custom Hooks
import {useState, useEffect} from "react"; import { Keyboard, KeyboardEvent } from 'react-native'; const useKeyboard = () => { const [keyboardHeight, setKeyboardHeight] = useState(0); function onKeyboardDidShow(e: KeyboardEvent) { setKeyboardHeight(e.endCoordinates.height); } function onKeyboardDidHide() { setKeyboardHeight(0) } useEffect(() => { const keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow); const keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide); return () => { keyboardDidShowListener.remove() keyboardDidHideListener.remove() } },[]); return keyboardHeight } export default useKeyboard
사용법
const keyH = useKeyboard(); // 현재 키보드의 높이가 저장됨
class 형
componentDidMount () { this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow); //키보드가 올라 왔을 때 //this._keyboardDidShow 함수 실행 this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide); //키보드가 없을 때 //this._keyboardDidHide 함수 실행 } {...} _keyboardDidShow () { //키보드 show 했을때 실행 alert('Keyboard Shown'); Height= e.endCoordinates.height; } _keyboardDidHide () { //키보드 hide 했을때 실행 alert('Keyboard Hidden'); }
사용법
e.endCoordinates.height// 사용하면 키보드 높이를 가져온다.
참고
https://coding-hwije.tistory.com/53
[reactnative]키보드 켜졌을 때 꺼졌을 때, 높이를 어케알까(keyboard event,show,hide,height)
디자인 수정 중에 채팅하는 페이지에서 input창을 누르면 키보드가 input창을 가려버렸다 즉 키보드가 올라와서 input창이 안보인다 ios에서만 이런현상이 보였는데 내가 짠게 아니라서 걍 강제로
coding-hwije.tistory.com
https://stackoverflow.com/questions/46587006/how-to-get-a-height-of-a-keyboard-in-react-native
How to get a height of a Keyboard in React-Native?
I am using React-Navigation in my app and the app consists of StackNavigator with multiple screens, some screens of which have TextInput with autoFocus={true} Problem: on these screens when the
stackoverflow.com
'React-Native' 카테고리의 다른 글
[React-Native] dependencies VS devDependencies 차이 (0) 2023.02.11 [React-Native] patch-package 셋팅 및 사용법 (0) 2022.11.07 [React-Native][Android] keyboard가 레이아웃에 영향안주는 방법 (0) 2022.06.15 [React-Native] AsyncStorage 사용하기 (0) 2022.06.12 [React-Native] State VS Props (0) 2022.06.09