[React Native] Prevent the On-screen Keyboard from Covering up Text Inputs

When you bring up the on screen keyboard in a mobile app, it will cover any text input or buttons on the bottom half of the screen, which can be frustrating for users. There are a few common ways to deal with this in React Native - and this video shows the following solutions:react

First, you can use the built in KeyboardAvoidingView to move components around when the keyboard comes on screen. It has the advantage to being built in to React Native already - but it can be overly complicated to get this approach to work consistently across both iOS and Android.npm

There is also a third party library called KeyboardAwareScrollView, which will allow your entire view to scroll, and will keep the currently selected text inputs up and out of the way of the keyboard.react-native

 

Install:app

npm i -D react-native-keyboard-aware-scroll-view

 

Use:ide

import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view' export default class App extends Component { render() { return ( <KeyboardAwareScrollView style={{ flex: 1 }} >

          <View style={styles.loginHeader}>
            <Text style={styles.headerText}>App Name</Text>
          </View>

          <View style={styles.loginInputs}>
            <Text style={styles.label}>Username</Text>
            <TextInput placeholder="Username" style={styles.input} />
            <Text style={styles.label}>Password</Text>
            <TextInput placeholder="Password" style={styles.input} secureTextEntry={true} />
            <TouchableOpacity style={styles.loginButton}>
              <Text style={styles.loginText}>Login</Text>
            </TouchableOpacity>
          </View>

      </KeyboardAwareScrollView> ); } }
相關文章
相關標籤/搜索