W React Native borderRadius
działa, ale kolor tła nadany przyciskowi pozostaje kwadratowy. Co tu się dzieje?
JS
<TouchableHighlight
style={styles.submit}
onPress={() => this.submitSuggestion(this.props)}
underlayColor='#fff'>
<Text style={[this.getFontSize(),styles.submitText]}>Submit</Text>
</TouchableHighlight>
Styl
...
submit:{
marginRight:40,
marginLeft:40,
marginTop:10,
},
submitText:{
paddingTop:20,
paddingBottom:20,
color:'#fff',
textAlign:'center',
backgroundColor:'#68a0cf',
borderRadius: 10,
borderWidth: 1,
borderColor: '#fff'
},
...
javascript
styles
react-native
Chipe
źródło
źródło
borderStyle: 'solid'
dosubmitText
Odpowiedzi:
Spróbuj przenieść styl przycisków do
TouchableHighlight
samego siebie:Style:
submit:{ marginRight:40, marginLeft:40, marginTop:10, paddingTop:20, paddingBottom:20, backgroundColor:'#68a0cf', borderRadius:10, borderWidth: 1, borderColor: '#fff' }, submitText:{ color:'#fff', textAlign:'center', }
Przycisk (taki sam):
<TouchableHighlight style={styles.submit} onPress={() => this.submitSuggestion(this.props)} underlayColor='#fff'> <Text style={[this.getFontSize(),styles.submitText]}>Submit</Text> </TouchableHighlight>
źródło
padding
również inny ważny klucz.Powinieneś dodać
overflow: hidden
do swoich stylów:Js:
Style:
submit { backgroundColor: '#68a0cf'; overflow: 'hidden'; }
źródło
overflow: 'hidden'
pracował dla mnie nawet bez przycisku reagowaniabackgroundColor
iborderRadius
na pojemnik, a następnie dodanieoverflow: 'hidden'
do pojemnika zadziałało. (Również nie używareact-native-button
.)Nigdy nie dawaj borderRadius do swojego
<Text />
zawsze zawijanego<Text />
wewnątrz<View />
lub w Twoim<TouchableOpacity/>
.borderRadius on
<Text />
będzie działał idealnie na urządzeniach z Androidem. Ale na urządzeniach IOS to nie zadziała.Więc zachowaj to w swojej praktyce, aby zawinąć
<Text/>
wnętrze<View/>
lub<TouchableOpacity/>
nałożyć, a następnie nadać borderRadius temu<View />
lub<TouchableOpacity />
tak, aby działał zarówno na urządzeniach z Androidem, jak i na IOS.Na przykład:-
<TouchableOpacity style={{borderRadius: 15}}> <Text>Button Text</Text> </TouchableOpacity>
-Dzięki
źródło
Zastosuj poniższy wiersz kodu:
<TextInput style={{ height: 40, width: "95%", borderColor: 'gray', borderWidth: 2, borderRadius: 20, marginBottom: 20, fontSize: 18, backgroundColor: '#68a0cf' }} // Adding hint in TextInput using Placeholder option. placeholder=" Enter Your First Name" // Making the Under line Transparent. underlineColorAndroid="transparent" />
źródło