function YourComponent(props){ const onKeyboardWillShow = e => { setKeyboardHeight(e.endCoordinates.height); }; const onKeyboardWillHide = () => { setKeyboardHeight(0); }; useEffect(() => { // These listeners on ios are a little more snappy but not available on Android // If you want to use this on Android use keyboardDidShow/Hide if (Platform.OS === 'ios') { Keyboard.addListener('keyboardWillShow', onKeyboardWillShow); Keyboard.addListener('keyboardWillHide', onKeyboardWillHide); } return () => { if (Platform.OS === 'ios') { Keyboard.removeListener('keyboardWillShow', onKeyboardWillShow); Keyboard.removeListener('keyboardWillHide', onKeyboardWillHide); } }; }, []); const buttonHeight = 50; return( <View> <Content bla={'bla'}/> <View style={{ height: Platform.OS === 'ios' ? keyboardHeight + buttonHeight : buttonHeight, position: 'absolute', bottom: 0 }}> {/* Keep this button above the keyboard */} <Button style={{ height: buttonHeight }}/> </View </View> ) }