我正在尝试更改按钮的背景颜色,但似乎没有任何效果,我尝试了凸起的属性,也许我使用不正确。你们有没有想法?
import React from 'react';
import { StyleSheet, Text, View, Button, TouchableHighlight } from 'react-native';
export default class App extends React.Component {
state={
name: "Mamadou"
};
myPress = () => {
this.setState({
name: "Coulibaly"
});
};
render() {
return (
<View style={styles.container}>
<Button
title={this.state.name}
color="red"
onPress={this.myPress}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
答案 0 :(得分:23)
使用此选项将背景颜色添加到iOS中的按钮:
<强>样式强>:
loginScreenButton:{
marginRight:40,
marginLeft:40,
marginTop:10,
paddingTop:10,
paddingBottom:10,
backgroundColor:'#1E6738',
borderRadius:10,
borderWidth: 1,
borderColor: '#fff'
},
loginText:{
color:'#fff',
textAlign:'center',
paddingLeft : 10,
paddingRight : 10
}
按钮:强>
<TouchableOpacity
style={styles.loginScreenButton}
onPress={() => navigate('HomeScreen')}
underlayColor='#fff'>
<Text style={styles.loginText}>Login</Text>
</TouchableOpacity>
对于Android,它只适用于Button color属性:
<Button onPress={onPressAction} title="Login" color="#1E6738" accessibilityLabel="Learn more about this button" />
答案 1 :(得分:7)
我建议使用React Native Elements包,它允许在buttonStyle
属性中插入样式。
<强>样式强>:
const styles = StyleSheet.create({
container: {
flex: 1
},
button: {
backgroundColor: '#00aeef',
borderColor: 'red',
borderWidth: 5,
borderRadius: 15
}
})
<强>渲染()强>
render() {
return (
<View style={styles.container}>
<Button
buttonStyle={styles.button}
title="Example"
onPress={() => {}}/>
</View>
)
}
Expo Snack:https://snack.expo.io/Bk3zI0u0G
答案 2 :(得分:2)
&#34;颜色&#34;只有当您为Android建立时,属性才适用于背景。
除此之外,我个人觉得管理自定义按钮更容易。这是创建自己的组件命名按钮,并将其作为带有文本的视图。这种方式更易于管理,您可以像按钮一样轻松导入它。
答案 3 :(得分:-3)
您应该使用十六进制代码backgroundColor="#FF0000"
代替color="red"
。另请使用raised={true}
其他明智的背景颜色不能覆盖。