这是我的代码:
<Button transparent onPress={Actions.MainOne } style={{ width: 50, height: 50 }} >
<Text>Option1</Text>
</Button>
<Button transparent onPress={Actions.MainTwo} style={{ width: 50, height: 50 }} >
<Text>Option2</Text>
</Button>
每当我按下按钮并且它处于活动状态时,我想更改按钮的背景颜色。如果我点击另一个按钮,那么我刚按下的按钮会获得背景,第一个按钮会回到正常的透明背景。我不确定如何向按钮添加两个动作。如果有人可以提供帮助我会很感激。我不需要使用按钮库,所以欢迎任何关于这个的想法!
谢谢!
答案 0 :(得分:0)
我使用flux-router来浏览场景。这是按下按钮时改变按钮背景颜色的方法:
constructor() {
super();
state = {
color1: 'transparent',
color2: 'transparent',
}
}
setActive(button) {
if (button === 1) {
if (this.state.color1 === 'transparent') {
this.setState({
color1: 'red',
color2: 'transparent'
})
}
} else {
if (this.state.color2 === 'transparent') {
this.setState({
color2: 'red',
color1: 'transparent'
})
}
}
}
{ . . . }
<Button
onPress={this.setActive.bind(this, 1)}
style={{ width: 50, height: 50, backgroundColor: this.state.color1 }}
>
<Text>Option1</Text>
</Button>
<Button
this.setActive.bind(this, 2)
style={{ width: 50, height: 50, backgroundColor: this.state.color2 }}
>
<Text>Option2</Text>
</Button>