2016-01-27 15 views
36

In React Native, borderRadius funziona ma il colore di sfondo assegnato al pulsante rimane quadrato. Che cosa sta succedendo qui?Reagire Raggio bordo nativo con colore di sfondo

JS

<TouchableHighlight 
    style={styles.submit} 
    onPress={() => this.submitSuggestion(this.props)} 
    underlayColor='#fff'> 
    <Text style={[this.getFontSize(),styles.submitText]}>Submit</Text> 
</TouchableHighlight> 

Stile

... 
submit:{ 
    marginRight:40, 
    marginLeft:40, 
    marginTop:10, 
}, 
submitText:{ 
    paddingTop:20, 
    paddingBottom:20, 
    color:'#fff', 
    textAlign:'center', 
    backgroundColor:'#68a0cf', 
    borderRadius: 10, 
    borderWidth: 1, 
    borderColor: '#fff' 
}, 
... 

enter image description here

+0

solo una supposizione, cercare di dare 'borderStyle: 'solid'' al' submitText' – Cherniv

+0

No, questo lavoro non ha ancora, purtroppo, – Chipe

+0

in quale ambiente si sta testando? iOS o Android? – Cherniv

risposta

57

provare a spostare il pulsante di styling per la TouchableHighlight stesso:

Stili:

submit:{ 
    marginRight:40, 
    marginLeft:40, 
    marginTop:10, 
    paddingTop:20, 
    paddingBottom:20, 
    backgroundColor:'#68a0cf', 
    borderRadius:10, 
    borderWidth: 1, 
    borderColor: '#fff' 
    }, 
    submitText:{ 
     color:'#fff', 
     textAlign:'center', 
    } 

Button (stessa):

<TouchableHighlight 
    style={styles.submit} 
    onPress={() => this.submitSuggestion(this.props)} 
    underlayColor='#fff'> 
    <Text style={[this.getFontSize(),styles.submitText]}>Submit</Text> 
</TouchableHighlight> 

enter image description here

+1

Grazie! il 'padding' anche un'altra chiave importante. – DazChong

27

Se si utilizza react-native-button si dovrebbe aggiungere overflow: hidden i vostri stili:

Js:

import Button from 'react-native-button'; 

<Button style={styles.submit}>Submit</Button> 

Stili:

submit { 
    backgroundColor: '#68a0cf'; 
    overflow: 'hidden'; 
} 
+3

'overflow: 'hidden'' ha funzionato per me anche senza react-native-button –

+1

Grazie. Sì, inserendo 'backgroundColor' e' borderRadius' nel contenitore, quindi aggiungendo 'overflow: 'hidden'' al contenitore che ha funzionato per me. (Anche senza usare 'react-native-button'.) – David

+0

questo è quello che volevo! (non quello controllato) –