React原生Android应用程序中TextInput下出现意外行

React原生Android应用程序中TextInput下出现意外行,android,ios,reactjs,react-native,Android,Ios,Reactjs,React Native,我正在使用React Native构建一个应用程序,在我的物理android设备上的每个文本输入下面都会出现一条奇怪的意外线条,如下图所示。此外,这些行不会显示在iOS模拟器中 输入组件的我的代码: import React from 'react'; import { TextInput, View, Text } from 'react-native'; const Input = ({ value, onChangeText, placeholder, secureTextEntry

我正在使用React Native构建一个应用程序,在我的物理android设备上的每个文本输入下面都会出现一条奇怪的意外线条,如下图所示。此外,这些行不会显示在iOS模拟器中

输入组件的我的代码:

import React from 'react';
import { TextInput, View, Text } from 'react-native';

const Input = ({ value,  onChangeText, placeholder, secureTextEntry }) => {
  const { inputStyle, labelStyle, containerStyle } = styles;

  return (
    <View style={containerStyle}>
      <TextInput
        secureTextEntry={secureTextEntry}
        placeholder={placeholder}
        autoCorrect={false}
        style={inputStyle}
        value={value}
        onChangeText={onChangeText}
      />
    </View>
  );
};

const styles = {
  inputStyle: {
    color: '#000',
    paddingRight: 5,
    paddingLeft: 5,
    fontSize: 14,
    lineHeight: 23,
    flex: 2,
  },
  containerStyle: {
    height: 40,
    flex: 1,
    flexDirection: 'row',
    alignItems: 'center',
    borderBottomWidth: 1,
    borderColor: '#ddd'
  }
};

export { Input };
从“React”导入React;
从“react native”导入{TextInput,View,Text};
常量输入=({value,onChangeText,占位符,secureTextEntry})=>{
const{inputStyle,labelStyle,containerStyle}=样式;
返回(
);
};
常量样式={
输入样式:{
颜色:“#000”,
paddingRight:5,
paddingLeft:5,
尺寸:14,
线高:23,
弹性:2,
},
集装箱运输方式:{
身高:40,
弹性:1,
flexDirection:'行',
对齐项目:“居中”,
边界宽度:1,
边框颜色:'#ddd'
}
};
导出{输入};

输入中底部的边框对于Android来说是自然行为,对于iOS来说没有边框底部。

根据删除边框:

<TextInput underlineColorAndroid='transparent' />

默认情况下,TextInput在其视图底部有一个边框。此边框的填充由系统提供的背景图像设置,不能更改。避免这种情况的解决方案是不显式设置高度(系统将注意在正确位置显示边框),或者通过将underlineColorAndroid设置为transparent不显示边框

您还可以尝试禁用自动更正标记。这可能也有帮助:

<TextInput autoCorrect={false} />

学分:


  • 这是变色龙的作品。自动更正对我没有影响。