TextInput Typed Text not appearing on android

For some reason the height style property needs to be double when on Android than iOS. There might be a cleaner way to do this but here is how we solved this.

<TextInput style={[styles.input, {height: Platform.OS == 'android' ? 40 : 20}]} ... />

I recently had this issue, and I solved it by adding paddingVertical: 0 to the style of the input and by set underlineColorAndroid="transparent" prop. The style can be same for both platforms this way. It seems like there is some default vertical padding on android.

There is also related issue on the Github of React Native.


For android it's required to set the correct lineHeight aswell.

input: {
  position: 'absolute',
  left: 61,
  top: 12,
  right: 0,
  height: 20,
  fontSize: 14,
  lineHeight: 14 // <- line height should be corresponding to your font size
},