所以我想要做的是创建一个具有按下状态和未按下状态的按钮(因此我使用TouchableHighlight的原因),即
_onShowUnderlay = () => {
this.setState({pressed: true})
}
_onHideUnderlay = () => {
this.setState({pressed: false})
}
<TouchableHighlight
onPress={this.props.onPress}
style={containerStyle} //style controlled by this.state.pressed
onHideUnderlay={this._onHideUnderlay}
onShowUnderlay={this._onShowUnderlay}>
{this.props.image}
</TouchableHighlight>
通常我会使用TouchableNativeFeedback来做这个,但我不能这样做,因为我需要使用TouchableHighlight的onHideUnderlay和onShowUnderlay来控制状态。
那么如何同时实现纹波和压缩/未压缩状态?
答案 0 :(得分:0)
我找到了一个为你完成工作的npm包:https://www.npmjs.com/package/react-native-material-button
如果您感兴趣,请参阅以下内容:https://github.com/recr0ns/react-native-material-button/blob/master/index.js
看起来包装本身存在问题。我目前正在寻找更好的产品。
这是一个很棒的包装理想。我也需要它。
希望这有帮助