如何在native native中更改文本输入的文本颜色?

时间:2017-09-09 07:55:42

标签: react-native react-native-android react-native-ios native-base

输入的占位符是绿色,但我也想要输入绿色文本(当我输入文本文本时,颜色显示黑色,这在我的UI中不够明显)。我怎么能把它变成绿色呢?

4 个答案:

答案 0 :(得分:1)

如果您想更改TextInput颜色,请在样式中添加颜色

下面的示例为TextInput颜色为蓝色:

export default class UselessTextInput extends Component {
  constructor(props) {
    super(props);
    this.state = { text: 'Useless Placeholder' };
  }

  render() {
    return (
      <TextInput
        style=
        {{
          height: 40, borderColor: 'gray', borderWidth: 1, color : "blue"
        }}
        onChangeText={(text) => this.setState({text})}
        value={this.state.text}
      />
    );
  }
}

答案 1 :(得分:1)

color: 'green';样式中添加TextInput会更改颜色

<TextInput style={styles.textInput} />

const styles = StyleSheet.create({
 textInput: {
  color: 'green',
 },
});`

native-base中,您还需要注意主题see docs

答案 2 :(得分:0)

尝试了许多不同的解决方案后,我实现了一个自定义的TextInput组件,在其中放置了一个Text组件,该组件将颜色更改为背景,并在其上放置了一个TextInput,后者具有透明的字体颜色。我希望这个问题能尽快得到更好的解决。

updateText(v) {
  const { onChange } = this.props;
  this.setState({ text: v});
  onChange(v);
}
render() {
  const { changeColor } = this.props;
  const { text } = this.state;
  return  <View style={{ position: 'relative', flex: 1 }}>
            <Text style={ [ { flex: 1, position: 'absolute', zIndex: 1 }, changeColor? { color: red } : null ]}>
              {text}
            </Text>
            <RTextInput
              onChangeText={v => this.updateText(v)}
              style={[{ flex: 1, color: 'transparent', zIndex: 100 }]}
              {...props}
            />
          </View>
}

答案 3 :(得分:-1)

只需为您的输入创建样式并将颜色设置为绿色

NSDateFormatter

并将其分配给您的textInput

const styles = StyleSheet.create({
    textInputStyle: {
    color: 'green',
    }
});