Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change background color of react native button

I am trying to change the background color of my button but nothing seems to work, I tried the raised property, maybe i am using it incorrectly. Do any of you have any ideas?

 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',   },  }); 
like image 477
Mamadou Coulibaly Avatar asked Jun 28 '17 09:06

Mamadou Coulibaly


People also ask

How do you change background color of a button in React Native?

To change background color of React Native button, we can set the color prop for Android and we set the backgroundColor for iOS. to add <Button title="Login Android" color="#1E6738" /> add a button with the background color set to #1E6738 for Android.

How do I change the color of my React button?

To change the style of a button on click with React, we can set the className prop to an object with styles controlled by states. We have the red and green classes with the color CSS property set to red and green respectively.

How do I customize my React Native button?

import { View, Button, StyleSheet, TouchableOpacity, Text } from "react-native"; To create custom buttons, you need to customize the <TouchableOpacity /> component and include the <Text /> component inside of it to display the button text.

How do you change the text color of a button in React Native?

You can use a Button from react-native like this and can also pass the color prop. For complex and custom buttons you can create it by your own styles using Touchables which are given by react-native you don't have to use any third-party libraries for that. The first code doesn't change the text colour.


Video Answer


2 Answers

Use this for adding the background color to the button in iOS:

Styles:

  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   } 

Button:

<TouchableOpacity           style={styles.loginScreenButton}           onPress={() => navigate('HomeScreen')}           underlayColor='#fff'>           <Text style={styles.loginText}>Login</Text>  </TouchableOpacity> 

enter image description here

For Android it simply works with Button color property only:

<Button  onPress={onPressAction}  title="Login"  color="#1E6738"  accessibilityLabel="Learn more about this button" /> 
like image 139
Harjot Singh Avatar answered Sep 24 '22 18:09

Harjot Singh


I suggest to use React Native Elements package, which allow to insert styles throught buttonStyle property.

styles:

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>    ) } 

Effect: Effect button

Expo Snack: https://snack.expo.io/Bk3zI0u0G

like image 25
Paweł BB Drozd Avatar answered Sep 20 '22 18:09

Paweł BB Drozd