Dans React Native, borderRadius
fonctionne mais la couleur d'arrière-plan donnée au bouton reste un carré. Qu'est-ce qui se passe ici?
JS
<TouchableHighlight
style={styles.submit}
onPress={() => this.submitSuggestion(this.props)}
underlayColor='#fff'>
<Text style={[this.getFontSize(),styles.submitText]}>Submit</Text>
</TouchableHighlight>
Style
...
submit:{
marginRight:40,
marginLeft:40,
marginTop:10,
},
submitText:{
paddingTop:20,
paddingBottom:20,
color:'#fff',
textAlign:'center',
backgroundColor:'#68a0cf',
borderRadius: 10,
borderWidth: 1,
borderColor: '#fff'
},
...
borderStyle: 'solid'
ausubmitText
Réponses:
Essayez de déplacer le style du bouton sur
TouchableHighlight
lui - même:Modes:
Bouton (même):
la source
padding
également une autre clé importante.Vous devez ajouter
overflow: hidden
à vos styles:Js:
Modes:
la source
overflow: 'hidden'
a travaillé pour moi même sans bouton de réaction natifbackgroundColor
etborderRadius
sur le conteneur, puis l'ajouteroverflow: 'hidden'
au conteneur a fonctionné pour moi. (N'utilise pas non plusreact-native-button
.)Ne donnez jamais borderRadius à votre
<Text />
enveloppez toujours cela<Text />
dans votre<View />
ou dans votre<TouchableOpacity/>
.borderRadius sur
<Text />
fonctionnera parfaitement sur les appareils Android. Mais sur les appareils IOS, cela ne fonctionnera pas.Alors gardez cela dans votre pratique pour envelopper votre
<Text/>
intérieur de votre<View/>
ou sur<TouchableOpacity/>
, puis donnez le borderRadius à cela<View />
ou<TouchableOpacity />
pour qu'il fonctionne à la fois sur Android et sur les appareils IOS.Par exemple:-
-Merci
la source
Appliquez la ligne de code ci-dessous:
la source