native react 变颜色 点击,在React Native中按下更改按钮样式

I'd like the style of a button in my app to change when it is being pressed. What is the best way to do this?

解决方案

Use TouchableHighlight.

Here an example:

pVwFl.gif

'use strict';

import React, {

Component,

StyleSheet,

PropTypes,

View,

Text,

TouchableHighlight

} from "react-native";

export default class Home extends Component {

constructor(props) {

super(props);

this.state = { pressStatus: false };

}

_onHideUnderlay() {

this.setState({ pressStatus: false });

}

_onShowUnderlay() {

this.setState({ pressStatus: true });

}

render() {

return (

activeOpacity={1}

style={

this.state.pressStatus

? styles.buttonPress

: styles.button

}

onHideUnderlay={this._onHideUnderlay.bind(this)}

onShowUnderlay={this._onShowUnderlay.bind(this)}

>

style={

this.state.pressStatus

? styles.welcomePress

: styles.welcome

}

>

{this.props.text}

);

}

}

Home.propTypes = {

text: PropTypes.string.isRequired

};

const styles = StyleSheet.create({

container: {

flex: 1,

justifyContent: "center",

alignItems: "center",

backgroundColor: "#F5FCFF"

},

welcome: {

fontSize: 20,

textAlign: "center",

margin: 10,

color: "#000066"

},

welcomePress: {

fontSize: 20,

textAlign: "center",

margin: 10,

color: "#ffffff"

},

button: {

borderColor: "#000066",

borderWidth: 1,

borderRadius: 10

},

buttonPress: {

borderColor: "#000066",

backgroundColor: "#000066",

borderWidth: 1,

borderRadius: 10

}

});

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值