hai在我的TextInput中我想改变placeHolder字体的大小,我试过这样:
<TextInput
style={styles.email}
value={this.state.email}
placeholder="Email"
placeholderTextColor="red"
//placeholderTextSize = 20px
onChange={this.handleEmailChange.bind(this)}
onBlur={this.onBlur.bind(this)}/>
当我写这样的颜色对我有用但尺寸不起作用时,任何人都可以给我建议如何更改占位符文字的大小,任何帮助非常感谢
答案 0 :(得分:13)
我不确定您是否只能指定placeholderText的大小。但是您可以从TextInput中更改输入文本的fontSize:
var styles = StyleSheet.create({
email: {
fontSize: 12, <-- Textsize of Input-Text and Placeholder-Text
},
})
也许你的解决方案没有px工作?!但我不这么认为。如果你想拥有一个与InputText不同的PlaceholderText,那么你可以访问onChangeText-TextInput的方法,并在你在Textfield中输入内容后立即更改fontSize。
答案 1 :(得分:0)
<TextInput
style={{fontSize:12}}
placeholder='any text'
onChangeText={(input)=>this.setState({input: input})}
placeholderTextColor='green'/>
答案 2 :(得分:0)
(据我所记得)没有办法直接更改仅占位符的字体大小,因为当您使用样式更改fontSize时,您同时更改了输入fontSize和占位符fontSize。但是,有一种方法可以...
const [ text, setText ] = useState<string>('');
,然后使用状态检查输入字段是否为空。如果为空,则将fontSize更改为:
{ fontSize: text ? 18 : 12 }
但是,重要的是要注意即使此方法也可以使用,但是由重新渲染引起的延迟当然很明显。
答案 3 :(得分:0)
TextInput 组件可以这样创建。
<TextInput
value={value}
style={value ? styles.input : styles.placeholder}
placeholderTextColor="white"
{...props}/>