title: How to avoid keyboard pushing layout up on Android react-native
body: <p>I'm facing this issue for a few months and I still can't solve it.
  I have a text input at the bottom of the view that is supposed to rise up with the soft keyboard once tapped.
  Instead, the whole layout is pushed up and you can't see the upper part of it.</p>
  
  <p>I tried many different keyboard spacer libraries but they all just push the TextInput even higher..</p>
  
  <p>Screenshots:
  <a href="https://i.stack.imgur.com/8NXyK.png" rel="noreferrer">Without keyboard</a>
  <a href="https://i.stack.imgur.com/AhoMh.png" rel="noreferrer">With keyboard</a></p>
  
  <p>Here is my main View:</p>
  
  <pre><code>&lt;View
      style={{
        flex: 1,
        alignItems: 'stretch',
        justifyContent: 'space-between',
        overflow: 'hidden',
        backgroundColor: Colors.darkBlue
      }}
    &gt;
      {/* Header */}
      &lt;View
        style={{
          flexDirection: 'row',
          alignItems: 'stretch',
          height: 300
        }}&gt;
        {/* Question bubble */}
        { (this.state.question &amp;&amp; this.state.question !== '') ? (
            &lt;TouchableOpacity
              style={{
                  flex: 1,
                  flexDirection: 'row',
                  backgroundColor: 'transparent',
                  alignItems: 'stretch',
                  paddingRight: QUESTION_SPEAKER_RADIUS
                }}
            &gt;
              &lt;View
                style={{
                    flex: 1,
                    alignSelf: 'stretch',
                    alignItems: 'center',
                    justifyContent: 'center',
                    backgroundColor: 'white',
                  }}
              &gt;
                &lt;Text&gt;
                  {this.state.question}
                &lt;/Text&gt;
              &lt;/View&gt;
            &lt;/TouchableOpacity&gt;
          ) : null
        }
      &lt;/View&gt;
      &lt;KeyboardInput
        style={{}}
        onClose={() =&gt; this.setState({ displayMode: DISPLAY_MODES.homeEmpty })}
        onConfirm={(text) =&gt; this.onConfirmText(text) }
      /&gt;
    &lt;/View&gt;
  </code></pre>
  
  <p>Here is KeyboardInput:</p>
  
  <pre><code>&lt;View
        style={{
          alignSelf: 'stretch',
          flexDirection: 'row',
          alignItems: 'center',
          justifyContent: 'flex-end',
          backgroundColor: Colors.pink,
          borderColor: Colors.lime,
          borderTopWidth: 4,
          padding: 6,
        }}&gt;
        &lt;View
          style={{
            flex: 1,
            borderRadius: 6,
            padding: 0,
            backgroundColor: Colors.white,
            alignItems: 'stretch',
          }}
        &gt;
          &lt;TextInput
            placeholder={Strings.child_keyboard_placeholder}
            value={this.state.messageTextInput}
            onChangeText={(text) =&gt; this.setState({messageTextInput: text})}
            style={{
              height: 50,
              marginLeft: 10,
              marginRight: CONFIRM_BUTTON_SIZE / 2
            }}
            underlineColorAndroid='transparent'
            numberOfLines={2}
            maxLength={70}
            autoCorrect={false}
            returnKeyType='next'
          /&gt;
        &lt;/View&gt;
      &lt;/View&gt;
  </code></pre>
  
  <p>Using RN 0.35 on Android.</p>