Utilisant React natif 0.26,
Mon composant est quelque chose comme ça
const Search = () => {
return (
<View style={styles.backgroundImage}>
<TextInput style={styles.textInput} onChangeText={(text) => console.log(text)} placeholder={"Enter Search Term"}/>
</View>
)
}
Et mes styles:
const styles = StyleSheet.create({
backgroundImage: {
flex : 1,
flexDirection: "column",
justifyContent: 'center',
alignItems: 'center'
},
textInput: {
justifyContent: "center",
alignItems: "stretch",
borderRightWidth: 30,
borderLeftWidth: 30,
height: 50,
borderColor: "#FFFFFF",
}
})
Les problèmes auxquels je suis confronté sont
returnKeyType
et voir à quoi ressemble le clavier (et avoir du code sur onSubmitEditing
et test).1 Vous ne pouvez pas déclarer une bordure spécifique directement sur le TextInput à moins que l'option multiligne soit activée (par exemple, borderLeftWidth
ne fonctionnera que si multiline={true}
est activé mais borderWidth
fonctionnera), mais vous pouvez simplement envelopper le TextInput dans une vue et lui donner une bordure.
inputContainer: {
borderLeftWidth: 4,
borderRightWidth: 4,
height: 70
},
input: {
height: 70,
backgroundColor: '#ffffff',
paddingLeft: 15,
paddingRight: 15
}
2 Vous devez déclarer une backgroundColor
pour TextInput.
3 Pour que le clavier natif apparaisse, vous devez accéder au menu du simulateur et déconnecter votre matériel. Allez dans Matériel -> Clavier -> Connecter le clavier matériel, désactivez-le.
pour définir l'entrée de texte au centre, procédez comme suit:
alignSelf: 'center'