web-dev-qa-db-ja.com

リアクションネイティブボタンの背景色を変更する方法

ボタンの背景色を変更しようとしていますが、何も機能していないようです。発生したプロパティを試しましたが、間違って使用している可能性があります。何かアイデアはありますか?

 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',
  },

});
17

これを使用して、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>

enter image description here

Androidの場合、ボタンの色プロパティでのみ動作します:

<Button  onPress={onPressAction}  title="Login"  color="#1E6738"  accessibilityLabel="Learn more about this button" />
27
Harjot Singh

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

効果Effect button

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

7
bodolsog

「color」プロパティは、Android用に構築している場合にのみ背景に適用されます。

それ以外は、個人的にカスタムボタンの管理が簡単だと感じています。つまり、buttonという名前の独自のコンポーネントを作成し、それをテキスト付きのビューとして使用します。この方法はより管理しやすく、ボタンと同じくらい簡単にインポートできます。

1
Medardas