ボタンの背景色を変更しようとしていますが、何も機能していないようです。発生したプロパティを試しましたが、間違って使用している可能性があります。何かアイデアはありますか?
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',
},
});
これを使用して、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 onPress={onPressAction} title="Login" color="#1E6738" accessibilityLabel="Learn more about this button" />
buttonStyle
プロパティを介してスタイルを挿入できる React Native Elements パッケージを使用することをお勧めします。
スタイル:
const styles = StyleSheet.create({
container: {
flex: 1
},
button: {
backgroundColor: '#00aeef',
borderColor: 'red',
borderWidth: 5,
borderRadius: 15
}
})
render()
render() {
return (
<View style={styles.container}>
<Button
buttonStyle={styles.button}
title="Example"
onPress={() => {}}/>
</View>
)
}
Expo Snack: https://snack.expo.io/Bk3zI0u0G
「color」プロパティは、Android用に構築している場合にのみ背景に適用されます。
それ以外は、個人的にカスタムボタンの管理が簡単だと感じています。つまり、buttonという名前の独自のコンポーネントを作成し、それをテキスト付きのビューとして使用します。この方法はより管理しやすく、ボタンと同じくらい簡単にインポートできます。